From: Sergio Villar Senin Date: Mon, 26 Jan 2009 09:09:04 +0000 (+0000) Subject: Removed the priv->current_top field. HildonWindow gives us that information X-Git-Tag: git_migration_finished~721 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=b41f44e952e437e7221a9dc3e087948ddaf091de Removed the priv->current_top field. HildonWindow gives us that information pmo-trunk-r7282 --- diff --git a/src/hildon2/modest-hildon2-window-mgr.c b/src/hildon2/modest-hildon2-window-mgr.c index 738c2c5..e551185 100644 --- a/src/hildon2/modest-hildon2-window-mgr.c +++ b/src/hildon2/modest-hildon2-window-mgr.c @@ -171,7 +171,6 @@ modest_hildon2_window_mgr_instance_init (ModestHildon2WindowMgr *obj) priv = MODEST_HILDON2_WINDOW_MGR_GET_PRIVATE(obj); priv->window_list = NULL; priv->fullscreen_mode = FALSE; - priv->current_top = NULL; priv->window_state_uids = NULL; priv->modal_windows = g_queue_new (); @@ -359,6 +358,7 @@ modest_hildon2_window_mgr_register_window (ModestWindowMgr *self, HildonProgram *program; HildonWindowStack *stack; gboolean nested_msg = FALSE; + ModestWindow *current_top; g_return_val_if_fail (MODEST_IS_HILDON2_WINDOW_MGR (self), FALSE); g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE); @@ -384,28 +384,27 @@ modest_hildon2_window_mgr_register_window (ModestWindowMgr *self, g_object_ref (window); priv->window_list = g_list_prepend (priv->window_list, window); - if (priv->current_top == NULL) - priv->current_top = (ModestWindow *) hildon_window_stack_peek (stack); + current_top = (ModestWindow *) hildon_window_stack_peek (stack); nested_msg = MODEST_IS_MSG_VIEW_WINDOW (window) && MODEST_IS_MSG_VIEW_WINDOW (parent); /* Close views if they're being shown. Nevertheless we must allow nested messages */ if (!nested_msg && - (MODEST_IS_MSG_EDIT_WINDOW (priv->current_top) || - MODEST_IS_MSG_VIEW_WINDOW (priv->current_top))) { + (MODEST_IS_MSG_EDIT_WINDOW (current_top) || + MODEST_IS_MSG_VIEW_WINDOW (current_top))) { gboolean retval; /* If the current view has modal dialogs then we fail to register the new view */ - if ((priv->current_top != NULL) && - window_has_modals (MODEST_WINDOW (priv->current_top))) { + if ((current_top != NULL) && + window_has_modals (MODEST_WINDOW (current_top))) { /* Window on top but it has opened dialogs */ goto fail; } /* Close the current view */ - g_signal_emit_by_name (G_OBJECT (priv->current_top), "delete-event", NULL, &retval); + g_signal_emit_by_name (G_OBJECT (current_top), "delete-event", NULL, &retval); if (retval == TRUE) { /* Cancelled closing top window, then we fail to register */ goto fail; @@ -425,9 +424,9 @@ fail: /* Add to list. Keep a reference to the window */ priv->window_list = g_list_remove (priv->window_list, window); g_object_unref (window); - priv->current_top = (ModestWindow *) hildon_window_stack_peek (stack); - if (priv->current_top) - gtk_window_present (GTK_WINDOW (priv->current_top)); + current_top = (ModestWindow *) hildon_window_stack_peek (stack); + if (current_top) + gtk_window_present (GTK_WINDOW (current_top)); return FALSE; } @@ -558,13 +557,6 @@ modest_hildon2_window_mgr_unregister_window (ModestWindowMgr *self, /* cancel open and receive operations */ cancel_window_operations (window); - /* Check if it's the topmost window, and remove the window from the stack. - * This is needed for the cases there's no other topmost window that will - * replace it in topmost handler. - */ - if (window == priv->current_top) - priv->current_top = NULL; - /* Disconnect the "window-state-event" handler, we won't need it anymore */ if (priv->window_state_uids) { priv->window_state_uids = @@ -709,10 +701,9 @@ modest_hildon2_window_mgr_show_initial_window (ModestWindowMgr *self) static ModestWindow * modest_hildon2_window_mgr_get_current_top (ModestWindowMgr *self) { - ModestHildon2WindowMgrPrivate *priv; - - priv = MODEST_HILDON2_WINDOW_MGR_GET_PRIVATE (self); - return priv->current_top; + HildonWindowStack *stack; + stack = hildon_window_stack_get_default (); + return (ModestWindow *) hildon_window_stack_peek (stack); } static gint