Make sure the leader_window's WM_CLIENT_LEADER points to itself. #435028

* gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the
	leader_window's WM_CLIENT_LEADER points to itself. #435028

svn path=/trunk/; revision=17762
This commit is contained in:
Dan Winship 2007-05-02 00:02:14 +00:00
parent 5f7249557a
commit 17274cbe88
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-05-01 Dan Winship <danw@novell.com>
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the
leader_window's WM_CLIENT_LEADER points to itself. #435028
2007-05-02 Christian Persch <chpe@gnome.org>
* gtk/gtktreemodel.c: (gtk_tree_iter_copy), (gtk_tree_iter_free): Use

View File

@ -572,6 +572,7 @@ setup_toplevel_window (GdkWindow *window,
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (parent));
XSizeHints size_hints;
long pid;
Window leader_window;
if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_DIALOG)
XSetTransientForHint (xdisplay, xid, xparent);
@ -608,11 +609,14 @@ setup_toplevel_window (GdkWindow *window,
XA_CARDINAL, 32,
PropModeReplace,
(guchar *)&pid, 1);
leader_window = GDK_DISPLAY_X11 (screen_x11->display)->leader_window;
if (!leader_window)
leader_window = xid;
XChangeProperty (xdisplay, xid,
gdk_x11_get_xatom_by_name_for_display (screen_x11->display, "WM_CLIENT_LEADER"),
XA_WINDOW, 32, PropModeReplace,
(guchar *) &GDK_DISPLAY_X11 (screen_x11->display)->leader_window, 1);
(guchar *) &leader_window, 1);
if (toplevel->focus_window != None)
XChangeProperty (xdisplay, xid,