/* 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);
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 */
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)) {
}
- if (folder && TNY_IS_FOLDER (folder)) {
+ if (TNY_IS_FOLDER (folder)) {
gchar *folder_name;
gint response;
const gchar *current_name;
g_object_unref (mail_op);
g_free (folder_name);
}
- g_object_unref (folder);
}
+ g_object_unref (folder);
}
static void
/* 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)) {
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);
}
/* 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;
}
static void
folder_refreshed_cb (ModestMailOperation *mail_op,
- TnyFolder *folder,
+ TnyFolder *folder,
gpointer user_data)
{
ModestHeaderViewPrivate *priv;
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 ();
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);