Check if a window is already realized when adding it to a stack
authorAlberto Garcia <agarcia@igalia.com>
Tue, 26 May 2009 11:10:28 +0000 (13:10 +0200)
committerAlberto Garcia <agarcia@igalia.com>
Tue, 26 May 2009 11:10:28 +0000 (13:10 +0200)
* hildon/hildon-window-stack.c (_hildon_window_stack_do_push):
Check if the window is already realized when pushing it.

ChangeLog
hildon/hildon-window-stack.c

index 6c94f2f..7f64867 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-26  Alberto Garcia  <agarcia@igalia.com>
+
+       * hildon/hildon-window-stack.c (_hildon_window_stack_do_push):
+       Check if the window is already realized when pushing it.
+
 2009-05-25  Claudio Saavedra  <csaavedra@igalia.com>
 
        * configure.ac: post release version bump
index 925d9fd..69d28a8 100644 (file)
@@ -298,10 +298,14 @@ _hildon_window_stack_do_push                    (HildonWindowStack     *stack,
             gtk_window_group_add_window (stack->priv->group, GTK_WINDOW (win));
         }
 
-        /* Set win's group after it's been realized. */
-        g_signal_connect (win, "realize",
-                          G_CALLBACK (hildon_window_stack_window_realized),
-                          stack);
+        /* Set window group */
+        if (GTK_WIDGET_REALIZED (win)) {
+            hildon_window_stack_window_realized (GTK_WIDGET (win), stack);
+        } else {
+            g_signal_connect (win, "realize",
+                              G_CALLBACK (hildon_window_stack_window_realized),
+                              stack);
+        }
 
         return TRUE;
     } else {