Commit 1a8e3a70 authored by Matthias Clasen's avatar Matthias Clasen Committed by Matthias Clasen
Browse files

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.
parent 0c4f2a0d
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> 2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary * gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
...@@ -11,6 +28,11 @@ ...@@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring. 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> 2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED
......
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> 2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary * gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
...@@ -11,6 +28,11 @@ ...@@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring. 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> 2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED
......
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> 2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary * gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
...@@ -11,6 +28,11 @@ ...@@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring. 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> 2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED
......
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> 2004-10-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary * gtk/gtkaboutdialog.c (gtk_about_dialog_new): Destroy secondary
...@@ -11,6 +28,11 @@ ...@@ -11,6 +28,11 @@
* gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the * gtk/gtkhsv.c (gtk_hsv_expose): Fix redraw issues with the
focus on the ring. 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> 2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED * gtk/gtksizegroup.c (do_size_request): Unset GTK_REQUEST_NEEDED
......
...@@ -198,6 +198,8 @@ gdk_display_open (const gchar *display_name) ...@@ -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, display_x11->leader_gdk_window = gdk_window_new (GDK_SCREEN_X11 (display_x11->default_screen)->root_window,
&attr, GDK_WA_X | GDK_WA_Y); &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 = GDK_WINDOW_XID (display_x11->leader_gdk_window);
display_x11->leader_window_title_set = FALSE; display_x11->leader_window_title_set = FALSE;
......
...@@ -1221,6 +1221,7 @@ update_wm_hints (GdkWindow *window, ...@@ -1221,6 +1221,7 @@ update_wm_hints (GdkWindow *window,
XWMHints wm_hints; XWMHints wm_hints;
if (!force && if (!force &&
!toplevel->is_leader &&
private->state & GDK_WINDOW_STATE_WITHDRAWN) private->state & GDK_WINDOW_STATE_WITHDRAWN)
return; return;
...@@ -4460,6 +4461,7 @@ gdk_window_set_group (GdkWindow *window, ...@@ -4460,6 +4461,7 @@ gdk_window_set_group (GdkWindow *window,
if (toplevel->group_leader) if (toplevel->group_leader)
g_object_unref (toplevel->group_leader); g_object_unref (toplevel->group_leader);
toplevel->group_leader = g_object_ref (leader); toplevel->group_leader = g_object_ref (leader);
(_gdk_x11_window_get_toplevel (leader))->is_leader = TRUE;
} }
update_wm_hints (window, FALSE); update_wm_hints (window, FALSE);
......
...@@ -113,6 +113,8 @@ struct _GdkToplevelX11 ...@@ -113,6 +113,8 @@ struct _GdkToplevelX11
guint have_maxhorz : 1; /* _NET_WM_STATE_MAXIMIZED_HORZ */ guint have_maxhorz : 1; /* _NET_WM_STATE_MAXIMIZED_HORZ */
guint have_fullscreen : 1; /* _NET_WM_STATE_FULLSCREEN */ guint have_fullscreen : 1; /* _NET_WM_STATE_FULLSCREEN */
guint is_leader : 1;
gulong map_serial; /* Serial of last transition from unmapped */ gulong map_serial; /* Serial of last transition from unmapped */
GdkPixmap *icon_pixmap; GdkPixmap *icon_pixmap;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment