2009-01-23 Alberto Garcia <agarcia@igalia.com>
+ * src/hildon-window-stack-private.h
+ * src/hildon-window-stack.c
+ * src/hildon-stackable-window.c (hildon_stackable_window_show):
+ Avoid calling gtk_widget_show() again indirectly from
+ hildon_stackable_window_show()
+
+2009-01-23 Alberto Garcia <agarcia@igalia.com>
+
* src/hildon-time-selector.c (hildon_time_selector_init): Remove
unused variable.
/* Stack the window if not already stacked */
if (priv->stack == NULL) {
HildonWindowStack *stack = hildon_window_stack_get_default ();
- hildon_window_stack_push_1 (stack, HILDON_STACKABLE_WINDOW (widget));
- } else {
- GTK_WIDGET_CLASS (hildon_stackable_window_parent_class)->show (widget);
+ _hildon_window_stack_do_push (stack, HILDON_STACKABLE_WINDOW (widget));
}
+
+ GTK_WIDGET_CLASS (hildon_stackable_window_parent_class)->show (widget);
}
static void
void G_GNUC_INTERNAL
hildon_window_stack_remove (HildonStackableWindow *win);
+gboolean G_GNUC_INTERNAL
+_hildon_window_stack_do_push (HildonWindowStack *stack,
+ HildonStackableWindow *win);
+
G_END_DECLS
#endif /* __HILDON_WINDOW_STACK_PRIVATE_H__ */
return win;
}
-static gboolean
+/* This function does everything to push a window to the stack _but_
+ * actually calling gtk_widget_show().
+ * It's up to each specific push function to decide the order in which
+ * to show windows. */
+gboolean G_GNUC_INTERNAL
_hildon_window_stack_do_push (HildonWindowStack *stack,
HildonStackableWindow *win)
{