* Remove the autoselect row reference when setting the model to NULL
authorSergio Villar Senin <svillar@igalia.com>
Wed, 30 Jul 2008 09:30:18 +0000 (09:30 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Wed, 30 Jul 2008 09:30:18 +0000 (09:30 +0000)
pmo-trunk-r5210

src/modest-ui-actions.c
src/widgets/modest-header-view.c

index ba8dee8..cd7569c 100644 (file)
@@ -3298,6 +3298,7 @@ on_rename_folder_performer (gboolean canceled,
                                                     (const gchar *) (data->new_name),
                                                     on_rename_folder_cb,
                                                     folder_view);
+               g_object_unref (data->folder);
                g_object_unref (mail_op);
        }
 
@@ -3349,7 +3350,7 @@ modest_ui_actions_on_rename_folder (GtkAction *action,
                        do_rename = FALSE;
                } else {
                        RenameFolderInfo *rename_folder_data = g_new0 (RenameFolderInfo, 1);
-                       rename_folder_data->folder = folder;
+                       rename_folder_data->folder = g_object_ref (folder);
                        rename_folder_data->new_name = folder_name;
                        modest_platform_connect_if_remote_and_perform (GTK_WINDOW(main_window), TRUE,
                                        folder, on_rename_folder_performer, rename_folder_data);
index 1b52c1e..2d3096d 100644 (file)
@@ -110,14 +110,13 @@ static void          _clipboard_set_selected_data (ModestHeaderView *header_view
 
 static void          _clear_hidding_filter (ModestHeaderView *header_view);
 
-static void modest_header_view_notify_observers(
-               ModestHeaderView *header_view,
-               GtkTreeModel *model,
-               const gchar *tny_folder_id);
+static void          modest_header_view_notify_observers(ModestHeaderView *header_view,
+                                                        GtkTreeModel *model,
+                                                        const gchar *tny_folder_id);
 
-static gboolean modest_header_view_on_expose_event (GtkTreeView *header_view,
-                                                   GdkEventExpose *event,
-                                                   gpointer user_data);
+static gboolean      modest_header_view_on_expose_event (GtkTreeView *header_view,
+                                                        GdkEventExpose *event,
+                                                        gpointer user_data);
 
 typedef enum {
        HEADER_VIEW_NON_EMPTY,
@@ -1379,6 +1378,12 @@ modest_header_view_set_folder (ModestHeaderView *self,
                        g_object_unref (G_OBJECT (priv->monitor));
                        priv->monitor = NULL;
                }
+
+               if (priv->autoselect_reference) {
+                       gtk_tree_row_reference_free (priv->autoselect_reference);
+                       priv->autoselect_reference = NULL;
+               }
+
                gtk_tree_view_set_model (GTK_TREE_VIEW (self), NULL); 
 
                modest_header_view_notify_observers(self, NULL, NULL);