135946 - Virtual Tree eats shell activations
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
index 5762183..4da412f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
@@ -445,7 +445,8 @@
boolean xFocus = false;
if (activeShell != null) {
if (OS.GTK_VERSION < OS.VERSION (2, 6, 8)) {
- xFocus = (activeShell.style & SWT.ON_TOP) != 0;
+ xFocus = (activeShell.style & (SWT.SHELL_TRIM | SWT.BORDER)) == SWT.NONE ||
+ (activeShell.style & (SWT.NO_TRIM | SWT.ON_TOP)) != 0;
}
display.activeShell = null;
display.activePending = true;