* Fixes NB#98417, fixes a crash when trying to move the outbox folder
[modest] / src / hildon2 / modest-platform.c
index 76df0ae..3ed719f 100644 (file)
@@ -42,6 +42,8 @@
 #include <libosso.h>
 #include <tny-maemo-conic-device.h>
 #include <tny-simple-list.h>
+#include <tny-merge-folder.h>
+#include <tny-error.h>
 #include <tny-folder.h>
 #include <tny-account-store-view.h>
 #include <gtk/gtkicontheme.h>
@@ -2167,12 +2169,19 @@ modest_platform_connect_if_remote_and_perform (GtkWindow *parent_window,
                                               gpointer user_data)
 {
        TnyAccount *account = NULL;
-       
-       if (!folder_store) {
+
+       if (!folder_store ||
+           (TNY_IS_MERGE_FOLDER (folder_store) &&
+            (tny_folder_get_folder_type (TNY_FOLDER(folder_store)) == TNY_FOLDER_TYPE_OUTBOX))) {
+
                /* We promise to instantly perform the callback, so ... */
                if (callback) {
-                       callback (FALSE, NULL, parent_window, NULL, user_data);
-               }
+                       GError *error = NULL;
+                       g_set_error (&error, TNY_ERROR_DOMAIN, TNY_SERVICE_ERROR_UNKNOWN,
+                                    "Unable to move or not found folder");
+                       callback (FALSE, error, parent_window, NULL, user_data);
+                       g_error_free (error);
+               }
                return;
 
        } else if (TNY_IS_FOLDER (folder_store)) {