]> Pileus Git - ~andy/gtk/commitdiff
Fix #155658, Sebastian Bacher:
authorMatthias Clasen <mclasen@redhat.com>
Mon, 18 Oct 2004 21:02:37 +0000 (21:02 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 18 Oct 2004 21:02:37 +0000 (21:02 +0000)
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.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkwindow-x11.c
gdk/x11/gdkwindow-x11.h

index da193c8a191b3456788c6436a06bf7838409f164..23546de95acc66f2fdf39adfec680693370cf5fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
        * 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
index da193c8a191b3456788c6436a06bf7838409f164..23546de95acc66f2fdf39adfec680693370cf5fd 100644 (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
        * 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
index da193c8a191b3456788c6436a06bf7838409f164..23546de95acc66f2fdf39adfec680693370cf5fd 100644 (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
        * 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
index da193c8a191b3456788c6436a06bf7838409f164..23546de95acc66f2fdf39adfec680693370cf5fd 100644 (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
        * 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
index 54c80ade91a2155f5e67bb0ab3eef95b682237f0..578864ebf08b9c601927d4c445924df99cd83f7c 100644 (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;
index 123073917c112bf795f5361a5b43bbf148ab4a77..410e000e5b26d0cf08f24bf78864e22420bba850 100644 (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);
index b844f6d4b972d55c1f793176197ed9cfe8c7edef..608c0172c8cd7e0e758634e3e19a5d32df8336cb 100644 (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;