Fix #155658, Sebastian Bacher:

2004-10-18  Matthias Clasen  <mclasen@redhat.com>

	Fix #155658, Sebastian Bacher:

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
	is_leader flag.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
	leader windows even if they are withdrawn.
	(gdk_window_set_group): Mark the new leader window as such. We
	never remove the flag again, but that should a) be vanishingly
	rare and b) not a problem, since the flag just turns off an
	optimization.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
	leader window as such.
This commit is contained in:
Matthias Clasen 2004-10-18 21:02:37 +00:00 committed by Matthias Clasen
parent 0c4f2a0db2
commit 1a8e3a7020
7 changed files with 94 additions and 0 deletions

View File

@ -1,3 +1,20 @@
2004-10-18 Matthias Clasen <mclasen@redhat.com>
Fix #155658, Sebastian Bacher:
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
is_leader flag.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
leader windows even if they are withdrawn.
(gdk_window_set_group): Mark the new leader window as such. We
never remove the flag again, but that should a) be vanishingly
rare and b) not a problem, since the flag just turns off an
optimization.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
leader window as such.
2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring.
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gdk/makegdkalias.pl: Include linux-fb/gdkfb.h when building
the framebuffer backend. (#155486, Olexiy Avramchenko)
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED

View File

@ -1,3 +1,20 @@
2004-10-18 Matthias Clasen <mclasen@redhat.com>
Fix #155658, Sebastian Bacher:
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
is_leader flag.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
leader windows even if they are withdrawn.
(gdk_window_set_group): Mark the new leader window as such. We
never remove the flag again, but that should a) be vanishingly
rare and b) not a problem, since the flag just turns off an
optimization.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
leader window as such.
2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring.
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gdk/makegdkalias.pl: Include linux-fb/gdkfb.h when building
the framebuffer backend. (#155486, Olexiy Avramchenko)
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED

View File

@ -1,3 +1,20 @@
2004-10-18 Matthias Clasen <mclasen@redhat.com>
Fix #155658, Sebastian Bacher:
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
is_leader flag.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
leader windows even if they are withdrawn.
(gdk_window_set_group): Mark the new leader window as such. We
never remove the flag again, but that should a) be vanishingly
rare and b) not a problem, since the flag just turns off an
optimization.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
leader window as such.
2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring.
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gdk/makegdkalias.pl: Include linux-fb/gdkfb.h when building
the framebuffer backend. (#155486, Olexiy Avramchenko)
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED

View File

@ -1,3 +1,20 @@
2004-10-18 Matthias Clasen <mclasen@redhat.com>
Fix #155658, Sebastian Bacher:
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
is_leader flag.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
leader windows even if they are withdrawn.
(gdk_window_set_group): Mark the new leader window as such. We
never remove the flag again, but that should a) be vanishingly
rare and b) not a problem, since the flag just turns off an
optimization.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
leader window as such.
2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring.
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gdk/makegdkalias.pl: Include linux-fb/gdkfb.h when building
the framebuffer backend. (#155486, Olexiy Avramchenko)
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED

View File

@ -198,6 +198,8 @@ gdk_display_open (const gchar *display_name)
display_x11->leader_gdk_window = gdk_window_new (GDK_SCREEN_X11 (display_x11->default_screen)->root_window,
&attr, GDK_WA_X | GDK_WA_Y);
(_gdk_x11_window_get_toplevel (display_x11->leader_gdk_window))->is_leader = TRUE;
display_x11->leader_window = GDK_WINDOW_XID (display_x11->leader_gdk_window);
display_x11->leader_window_title_set = FALSE;

View File

@ -1221,6 +1221,7 @@ update_wm_hints (GdkWindow *window,
XWMHints wm_hints;
if (!force &&
!toplevel->is_leader &&
private->state & GDK_WINDOW_STATE_WITHDRAWN)
return;
@ -4460,6 +4461,7 @@ gdk_window_set_group (GdkWindow *window,
if (toplevel->group_leader)
g_object_unref (toplevel->group_leader);
toplevel->group_leader = g_object_ref (leader);
(_gdk_x11_window_get_toplevel (leader))->is_leader = TRUE;
}
update_wm_hints (window, FALSE);

View File

@ -113,6 +113,8 @@ struct _GdkToplevelX11
guint have_maxhorz : 1; /* _NET_WM_STATE_MAXIMIZED_HORZ */
guint have_fullscreen : 1; /* _NET_WM_STATE_FULLSCREEN */
guint is_leader : 1;
gulong map_serial; /* Serial of last transition from unmapped */
GdkPixmap *icon_pixmap;