diff --git a/ChangeLog b/ChangeLog index 99ba886c0..41e0d0125 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-01-06 Elijah Newren + + Make sure the save session dialog appears focused. Fixes #162983. + + * src/session.c (warn_about_lame_clients_and_finish_inter): Get a + timestamp by explicit request from Xserver, since none is + available otherwise. + 2005-01-06 Leena Gunda * src/window.c (meta_window_unmaximize): Restore the wireframe diff --git a/src/session.c b/src/session.c index 1e86c14ee..12a0626f4 100644 --- a/src/session.c +++ b/src/session.c @@ -23,6 +23,7 @@ #include #include "session.h" +#include #include @@ -1888,7 +1889,27 @@ warn_about_lame_clients_and_finish_interact (gboolean shutdown) lame = g_slist_sort (lame, (GCompareFunc) windows_cmp_by_title); - timestamp = 0; + + { + XEvent property_event; + MetaDisplay *display; + + display = meta_displays_list ()->data; + + /* Using the property XA_PRIMARY because it's safe; nothing + * would use it as a property. The type doesn't matter. + */ + XChangeProperty (display->xdisplay, + display->leader_window, + XA_PRIMARY, XA_STRING, 8, + PropModeAppend, NULL, 0); + XWindowEvent (display->xdisplay, + display->leader_window, + PropertyChangeMask, + &property_event); + + timestamp = property_event.xproperty.time; + } sprintf (timestampbuf, "%lu", timestamp); len = g_slist_length (lame);