|
Line 0
Link Here
|
|
|
1 |
--- xfce4-session/shutdown.c.orig Sun Apr 18 10:41:07 2004 |
| 2 |
+++ xfce4-session/shutdown.c Sun Apr 18 10:49:51 2004 |
| 3 |
@@ -170,7 +170,8 @@ |
| 4 |
|
| 5 |
/* Try to grab Input on a hidden window first */ |
| 6 |
hidden = gtk_invisible_new(); |
| 7 |
- gtk_widget_show(hidden); |
| 8 |
+ gtk_widget_show_now(hidden); |
| 9 |
+ gdk_flush(); |
| 10 |
|
| 11 |
for (;;) { |
| 12 |
if (gdk_pointer_grab(hidden->window, FALSE, 0, NULL, NULL, |
| 13 |
@@ -201,16 +202,23 @@ |
| 14 |
|
| 15 |
/* this window *should* not be handled by the window manager */ |
| 16 |
g_object_set(G_OBJECT(dialog), "type", GTK_WINDOW_POPUP, NULL); |
| 17 |
+ if ((gtk_major_version >=2) && (gtk_minor_version >= 3)) { |
| 18 |
+ g_object_set (G_OBJECT (dialog), "type_hint", |
| 19 |
+ GDK_WINDOW_TYPE_HINT_UTILITY, NULL); |
| 20 |
+ } |
| 21 |
+ g_object_set (G_OBJECT (dialog), "decorated", FALSE, NULL); |
| 22 |
|
| 23 |
/* |
| 24 |
* Grabbing the Xserver when accessibility is enabled will cause a |
| 25 |
* hang. Found in gnome-session (see #93103 for details). |
| 26 |
*/ |
| 27 |
accessibility = GTK_IS_ACCESSIBLE(gtk_widget_get_accessible(dialog)); |
| 28 |
- if (!accessibility) { |
| 29 |
- gdk_x11_grab_server(); |
| 30 |
- drawBackground(); |
| 31 |
- gdk_flush(); |
| 32 |
+ if ((gtk_major_version >=2) && (gtk_minor_version < 3)) { |
| 33 |
+ if (!accessibility) { |
| 34 |
+ gdk_x11_grab_server(); |
| 35 |
+ drawBackground(); |
| 36 |
+ gdk_flush(); |
| 37 |
+ } |
| 38 |
} |
| 39 |
|
| 40 |
dbox = GTK_DIALOG(dialog)->vbox; |
| 41 |
@@ -300,10 +308,12 @@ |
| 42 |
|
| 43 |
gtk_widget_destroy(dialog); |
| 44 |
|
| 45 |
- /* ungrab the Xserver */ |
| 46 |
- if (!accessibility) { |
| 47 |
- gdk_x11_ungrab_server(); |
| 48 |
- refreshBackground(); |
| 49 |
+ if ((gtk_major_version >=2) && (gtk_minor_version < 3)) { |
| 50 |
+ /* ungrab the Xserver */ |
| 51 |
+ if (!accessibility) { |
| 52 |
+ gdk_x11_ungrab_server(); |
| 53 |
+ refreshBackground(); |
| 54 |
+ } |
| 55 |
} |
| 56 |
|
| 57 |
/* Release Keyboard/Mouse pointer grab */ |