diff -r 6eff280b7458 -r 11597fc6ce50 MultipleItemSelectionWidget.st --- a/MultipleItemSelectionWidget.st Mon May 30 09:41:17 2016 +0200 +++ b/MultipleItemSelectionWidget.st Tue May 31 15:26:36 2016 +0200 @@ -363,19 +363,21 @@ addItemsToSelection "add selected items from left list to the right list" - |sel t| + |sel t selectedItemList possibleItemList| sel := self possibleItemListSelection value. - sel size > 0 ifTrue:[ - t := self listOfSelectedItems value copy. - t addAll:sel. - self listOfSelectedItems value:t. + sel notEmptyOrNil ifTrue:[ + selectedItemList := self listOfSelectedItems. + t := selectedItemList value copy. + t addAll:sel. + selectedItemList value:t. - t := self listOfPossibleItems value copy. - t removeAll:sel. - self listOfPossibleItems value:t. + possibleItemList := self listOfPossibleItems. + t := possibleItemList value copy. + t removeAll:sel. + possibleItemList value:t. - self possibleItemListSelection value:#() + self possibleItemListSelection value:#() ] ! @@ -401,19 +403,21 @@ removeItemsFromSelection "remove selected items from right list to the left list" - |sel t| + |sel t selectedItemList possibleItemList| sel := self selectedItemListSelection value. sel size > 0 ifTrue:[ - t := self listOfPossibleItems value copy. - t addAll:sel. - self listOfPossibleItems value:t. + possibleItemList := self listOfPossibleItems. + t := possibleItemList value copy. + t addAll:sel. + possibleItemList value:t. - t := self listOfSelectedItems value copy. - t removeAll:sel. - self listOfSelectedItems value:t. + selectedItemList := self listOfSelectedItems. + t := selectedItemList value copy. + t removeAll:sel. + selectedItemList value:t. - self selectedItemListSelection value:#() + self selectedItemListSelection value:#() ] !