diff options
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r-- | mail/folder-browser.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 4948b685b4..546b260664 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -433,7 +433,7 @@ message_list_drag_data_recieved (ETree *tree, int row, ETreePath path, int col, fd = open (url, O_RDONLY); if (fd == -1) { g_free (url); - return; + goto fail; } stream = camel_stream_fs_new_with_fd (fd); @@ -457,11 +457,11 @@ message_list_drag_data_recieved (ETree *tree, int row, ETreePath path, int col, case DND_TARGET_TYPE_X_EVOLUTION_MESSAGE: folder = x_evolution_message_parse (selection_data->data, selection_data->length, &uids); if (folder == NULL) - return; + goto fail; if (uids == NULL) { camel_object_unref (CAMEL_OBJECT (folder)); - return; + goto fail; } mail_do_transfer_messages (folder, uids, context->action == GDK_ACTION_MOVE, fb->uri); @@ -471,6 +471,13 @@ message_list_drag_data_recieved (ETree *tree, int row, ETreePath path, int col, } camel_exception_clear (&ex); + + gtk_drag_finish (context, TRUE, TRUE, GDK_CURRENT_TIME); + + fail: + camel_exception_clear (&ex); + + gtk_drag_finish (context, FALSE, TRUE, GDK_CURRENT_TIME); } static void |