Bug 342994 - @GroupUpdates on selection only seems to work on the first workbench window
diff --git a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/TrackableComputationExt.java b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/TrackableComputationExt.java index b08ed36..a45fa48 100644 --- a/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/TrackableComputationExt.java +++ b/bundles/org.eclipse.e4.core.contexts/src/org/eclipse/e4/core/internal/contexts/TrackableComputationExt.java
@@ -75,13 +75,16 @@ boolean result = true; try { if (cachedEvent != null) { - if (runnable instanceof RunAndTrackExt) + if (runnable instanceof RunAndTrackExt) { result = ((RunAndTrackExt) runnable).update(event.getContext(), event.getEventType(), event.getArguments()); - else { - if (eventType == ContextChangeEvent.DISPOSE && eventType != ContextChangeEvent.UNINJECTED) + if (eventType != ContextChangeEvent.DISPOSE && eventType != ContextChangeEvent.UNINJECTED) + cachedEvent = null; + } else { + if (eventType != ContextChangeEvent.DISPOSE && eventType != ContextChangeEvent.UNINJECTED) { result = runnable.changed(cachedEvent.getContext()); + cachedEvent = null; + } } - cachedEvent = null; } if (eventType != ContextChangeEvent.UPDATE) { if (runnable instanceof RunAndTrackExt)