account_store = modest_runtime_get_account_store ();
local_folders_account = MODEST_TNY_LOCAL_FOLDERS_ACCOUNT (
modest_tny_account_store_get_local_folders_account (account_store));
- folder = modest_tny_local_folders_account_get_merged_outbox (local_folders_account);
+ folder = modest_tny_local_folders_account_get_merged_outbox (local_folders_account);
+ g_object_unref (local_folders_account);
} else {
folder = tny_store_account_find_folder (TNY_STORE_ACCOUNT (account), uri, NULL);
}
local_folders_account = MODEST_TNY_LOCAL_FOLDERS_ACCOUNT (
modest_tny_account_store_get_local_folders_account (account_store));
folder = modest_tny_local_folders_account_get_merged_outbox (local_folders_account);
+ g_object_unref (local_folders_account);
}
if (folder) {
TnyMsg *msg = tny_folder_find_msg (folder, uri, NULL);
if (auto_update)
/* Do send receive */
- modest_ui_actions_do_send_receive_all (main_win, FALSE);
+ modest_ui_actions_do_send_receive_all (main_win, FALSE, FALSE, FALSE);
else
/* Disable auto update */
modest_platform_set_update_interval (0);
static gint
on_send_receive(GArray *arguments, gpointer data, osso_rpc_t * retval)
{
- /* Use g_idle to context-switch into the application's thread: */
- g_idle_add(on_idle_send_receive, NULL);
+ ModestConnectedVia connect_when;
+
+ connect_when = modest_conf_get_int (modest_runtime_get_conf (),
+ MODEST_CONF_UPDATE_WHEN_CONNECTED_BY, NULL);
+
+ /* Perform a send and receive if the user selected to connect
+ via any mean or if the current connection method is the
+ same as the one specified by the user */
+ if (connect_when == MODEST_CONNECTED_VIA_ANY ||
+ connect_when == modest_platform_get_current_connection ()) {
+ /* Use g_idle to context-switch into the application's thread: */
+ g_idle_add(on_idle_send_receive, NULL);
+ }
return OSSO_OK;
}