diff --git a/bundles/org.eclipse.swt/.settings/org.eclipse.m2e.core.prefs b/bundles/org.eclipse.swt/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/bundles/org.eclipse.swt/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java index 1b262cb..0d5252a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDK.java @@ -209,10 +209,14 @@ public static final int GDK_Up = 0xff52; public static final int GDK_WINDOW_CHILD = 2; public static final int GDK_WINDOW_STATE = 32; + public static final int GDK_WINDOW_STATE_WITHDRAWN = 1 << 0; public static final int GDK_WINDOW_STATE_ICONIFIED = 1 << 1; public static final int GDK_WINDOW_STATE_MAXIMIZED = 1 << 2; + public static final int GDK_WINDOW_STATE_STICKY = 1 << 3; public static final int GDK_WINDOW_STATE_FULLSCREEN = 1 << 4; - public static final int GDK_WINDOW_STATE_FOCUSED = 1 << 7; + public static final int GDK_WINDOW_STATE_ABOVE = 1 << 5; + public static final int GDK_WINDOW_STATE_BELOW = 1 << 6; + public static final int GDK_WINDOW_STATE_FOCUSED = 1 << 7; public static final int GDK_UNMAP = 15; public static final int GDK_WA_X = 1 << 2; public static final int GDK_WA_Y = 1 << 3; diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index b77327e..a3ce664 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -4227,7 +4227,8 @@ while (windows != 0) { long curr_window = OS.g_list_data(windows); int state = GDK.gdk_window_get_state(curr_window); - if ((state & GDK.GDK_WINDOW_STATE_FOCUSED) != 0) { + if ((state & GDK.GDK_WINDOW_STATE_FOCUSED) != 0 + && (state & GDK.GDK_WINDOW_STATE_WITHDRAWN) == 0) { gdkWindow = curr_window; OS.g_object_ref(gdkWindow); break;