Fixes RefNULL 4/14
[modest] / src / modest-ui-actions.c
index b0a4408..736eeb0 100644 (file)
@@ -974,13 +974,12 @@ open_msg_banner_idle (gpointer userdata)
        gdk_threads_enter ();
        banner_info->idle_handler = 0;
        banner_info->banner = modest_platform_animation_banner (NULL, NULL, banner_info->message);
-       if (banner_info)
+       if (banner_info->banner)
                g_object_ref (banner_info->banner);
-       
+
        gdk_threads_leave ();
 
        return FALSE;
-       
 }
 
 static GtkWidget *
@@ -1455,7 +1454,7 @@ open_msg_performer(gboolean canceled,
        mail_op = 
                modest_mail_operation_new_with_error_handling ((GObject *) parent_window,
                                                               modest_ui_actions_disk_operations_error_handler,
-                                                              error_msg, g_free);
+                                                              g_strdup (error_msg), g_free);
        modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
                                         mail_op);
 
@@ -6561,6 +6560,9 @@ modest_ui_actions_get_msg_already_deleted_error_msg (ModestWindow *win)
                folder = TNY_FOLDER_STORE (tny_header_get_folder (header));
        }
 
+       if (!header || !folder)
+               goto frees;
+
        /* Get the account type */
        account = tny_folder_get_account (TNY_FOLDER (folder));
        proto = modest_tny_account_get_protocol_type (account);
@@ -6575,10 +6577,14 @@ modest_ui_actions_get_msg_already_deleted_error_msg (ModestWindow *win)
                msg = g_strdup_printf (_("mail_ni_ui_folder_get_msg_folder_error"));
        }
 
+ frees:
        /* Frees */
-       g_object_unref (account);
-       g_object_unref (folder);
-       g_object_unref (header);
+       if (account)
+               g_object_unref (account);
+       if (folder)
+               g_object_unref (folder);
+       if (header)
+               g_object_unref (header);
 
        return msg;
 }