- model.addComponentAddedListener(c -> recalculateComponentSelector(componentsByItemIndex, componentSelector, model));
- model.addComponentRemovedListener(c -> recalculateComponentSelector(componentsByItemIndex, componentSelector, model));
+ Consumer<? super GUIComponent> compsChanged = c -> recalculateComponentSelector(componentsByItemIndex, componentSelector, model);
+ model.addComponentAddedListener(compsChanged);
+ model.addComponentRemovedListener(compsChanged);
+ debugShell.addListener(SWT.Dispose, e ->
+ {
+ model.removeComponentAddedListener(compsChanged);
+ model.removeComponentRemovedListener(compsChanged);
+ });