From 95ce2fba8b5a5a0e018cb19ae2a0ce8857daf03f Mon Sep 17 00:00:00 2001 From: Sergio Villar Senin Date: Wed, 11 Jul 2007 15:29:19 +0000 Subject: [PATCH] * Fixed some reference leaks * Removed an unneeded ref/unref pair pmo-trunk-r2708 --- src/modest-mail-operation.c | 4 ---- src/modest-ui-actions.c | 6 ++++-- src/modest-ui-dimming-rules.c | 8 +++----- src/widgets/modest-folder-view.c | 7 ++++--- src/widgets/modest-header-view.c | 6 +++--- 5 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index 26c8c94..de2b313 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -2497,7 +2497,6 @@ on_refresh_folder (TnyFolder *folder, /* Free */ g_object_unref (helper->mail_op); g_slice_free (RefreshAsyncHelper, helper); - g_object_unref (folder); /* Notify about operation end */ modest_mail_operation_notify_end (self); @@ -2542,9 +2541,6 @@ modest_mail_operation_refresh_folder (ModestMailOperation *self, priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self); - /* Pick a reference */ - g_object_ref (folder); - priv->status = MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS; /* Get account and set it into mail_operation */ diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index 6c9dae5..ab37fee 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -2289,6 +2289,8 @@ modest_ui_actions_on_rename_folder (GtkAction *action, return; folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW(folder_view)); + if (!folder) + return; /* Offer the connection dialog if necessary: */ if (!modest_platform_connect_and_wait_if_network_folderstore (NULL, folder)) { @@ -2297,7 +2299,7 @@ modest_ui_actions_on_rename_folder (GtkAction *action, } - if (folder && TNY_IS_FOLDER (folder)) { + if (TNY_IS_FOLDER (folder)) { gchar *folder_name; gint response; const gchar *current_name; @@ -2334,8 +2336,8 @@ modest_ui_actions_on_rename_folder (GtkAction *action, g_object_unref (mail_op); g_free (folder_name); } - g_object_unref (folder); } + g_object_unref (folder); } static void diff --git a/src/modest-ui-dimming-rules.c b/src/modest-ui-dimming-rules.c index be74338..adfd3a7 100644 --- a/src/modest-ui-dimming-rules.c +++ b/src/modest-ui-dimming-rules.c @@ -1883,10 +1883,10 @@ _invalid_folder_for_purge (ModestWindow *win, /* Get folder and account of message */ msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win)); g_return_val_if_fail(msg != NULL, TRUE); - folder = tny_msg_get_folder (msg); + folder = tny_msg_get_folder (msg); if (folder == NULL) { modest_dimming_rule_set_notification (rule, _("mail_ib_unable_to_purge_attachments")); - goto frees; + goto frees; } g_object_unref (msg); } else if (MODEST_IS_MAIN_WINDOW (win)) { @@ -1896,9 +1896,7 @@ _invalid_folder_for_purge (ModestWindow *win, return FALSE; folder = TNY_FOLDER (modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view))); if (folder == NULL || ! TNY_IS_FOLDER (folder)) - return FALSE; - g_object_ref (folder); - + goto frees; } else { g_return_val_if_reached (FALSE); } diff --git a/src/widgets/modest-folder-view.c b/src/widgets/modest-folder-view.c index cb6c012..eb9b786 100644 --- a/src/widgets/modest-folder-view.c +++ b/src/widgets/modest-folder-view.c @@ -1146,13 +1146,14 @@ on_selection_changed (GtkTreeSelection *sel, gpointer user_data) /* Current folder was unselected */ if (priv->cur_folder_store) { + g_signal_emit (G_OBJECT(tree_view), signals[FOLDER_SELECTION_CHANGED_SIGNAL], 0, + priv->cur_folder_store, FALSE); + if (TNY_IS_FOLDER(priv->cur_folder_store)) - tny_folder_sync_async (TNY_FOLDER(priv->cur_folder_store), + tny_folder_sync_async (TNY_FOLDER(priv->cur_folder_store), FALSE, NULL, NULL, NULL); /* FALSE --> don't expunge the messages */ - g_signal_emit (G_OBJECT(tree_view), signals[FOLDER_SELECTION_CHANGED_SIGNAL], 0, - priv->cur_folder_store, FALSE); g_object_unref (priv->cur_folder_store); priv->cur_folder_store = NULL; } diff --git a/src/widgets/modest-header-view.c b/src/widgets/modest-header-view.c index fe42dbc..640cc1e 100644 --- a/src/widgets/modest-header-view.c +++ b/src/widgets/modest-header-view.c @@ -1002,7 +1002,7 @@ typedef struct { static void folder_refreshed_cb (ModestMailOperation *mail_op, - TnyFolder *folder, + TnyFolder *folder, gpointer user_data) { ModestHeaderViewPrivate *priv; @@ -1051,7 +1051,7 @@ modest_header_view_set_folder (ModestHeaderView *self, if (folder) { ModestMailOperation *mail_op = NULL; - GtkTreeSelection *selection; + GtkTreeSelection *selection; /* Get main window to use it as source of mail operation */ mgr = modest_runtime_get_window_mgr (); @@ -1081,7 +1081,7 @@ modest_header_view_set_folder (ModestHeaderView *self, mail_op); /* Refresh the folder asynchronously */ - modest_mail_operation_refresh_folder (mail_op, + modest_mail_operation_refresh_folder (mail_op, folder, folder_refreshed_cb, info); -- 1.7.9.5