diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/GC.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/GC.java index 75889472a5..b6c222ac29 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/GC.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/GC.java @@ -6112,13 +6112,9 @@ int getZoom() { } private void storeAndApplyOperationForExistingHandle(Operation operation) { + removePreviousOperationIfSupercededBy(operation); + operations.add(operation); operation.apply(); - if (data.reapplicable) { - removePreviousOperationIfSupercededBy(operation); - operations.add(operation); - } else { - operation.disposeAll(); - } } private void removePreviousOperationIfSupercededBy(Operation operation) {