Changeset 30

Show
Ignore:
Timestamp:
11/02/07 12:55:52
Author:
pvanhoof
Message:

Bugfixes

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/tmut-folder-view.c

    r29 r30  
    4141        TMutShellWindow *shell; 
    4242        TnyAccountStore *account_store; 
     43        GtkTreeModel *headers_model; 
    4344}; 
    4445 
     
    255256                if (priv->ringtone_player) 
    256257                        tny_folder_remove_observer (priv->folder, priv->ringtone_player); 
    257  
    258                 if (priv->monitor) { 
    259                         tny_folder_monitor_stop (priv->monitor); 
    260                         g_object_unref (priv->monitor); 
    261                 } 
    262  
    263258                g_object_unref (priv->folder); 
     259        } 
     260        if (priv->monitor) { 
     261                tny_folder_monitor_stop (priv->monitor); 
     262                g_object_unref (priv->monitor); 
    264263        } 
    265264} 
     
    288287 
    289288        model = tny_gtk_header_list_model_new (); 
     289        priv->headers_model = model; 
    290290 
    291291        tny_gtk_header_list_model_set_folder (TNY_GTK_HEADER_LIST_MODEL (model),  
     
    389389 
    390390        priv->headers_treeview = GTK_TREE_VIEW (gtk_tree_view_new ()); 
     391        g_object_ref (priv->headers_treeview); 
     392 
    391393        gtk_tree_view_set_headers_visible (priv->headers_treeview, FALSE); 
    392394        gtk_tree_view_set_rules_hint (priv->headers_treeview, TRUE); 
     
    418420 
    419421        tmut_folder_view_deactivate_folder (priv); 
     422 
     423        if (priv->headers_model) 
     424                g_object_unref (priv->headers_model); 
    420425 
    421426        if (priv->account_store) 
  • trunk/src/tmut-menu-view.c

    r29 r30  
    369369} 
    370370 
     371static void  
     372stop_folders_treeview (TMutMenuView *self) 
     373{ 
     374        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 
     375        GtkTreeModel *old_model = gtk_tree_view_get_model (priv->folders_treeview); 
     376        if (old_model) 
     377                tny_gtk_folder_store_tree_model_stop_observing (TNY_GTK_FOLDER_STORE_TREE_MODEL (old_model)); 
     378        return; 
     379} 
    371380 
    372381void  
     
    375384        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (self); 
    376385        TnyFolderStoreQuery *query; 
    377         GtkTreeModel *model = NULL; 
     386        GtkTreeModel *old_model, *model = NULL; 
    378387 
    379388        query = tny_folder_store_query_new (); 
     
    383392        tny_gtk_folder_store_tree_model_append (TNY_GTK_FOLDER_STORE_TREE_MODEL (model), 
    384393                TNY_FOLDER_STORE (account), tny_account_get_name (account)); 
     394 
     395        stop_folders_treeview (self); 
     396 
    385397        gtk_tree_view_set_model (priv->folders_treeview, model); 
    386398 
     
    499511        gtk_widget_show (sw); 
    500512        priv->folders_treeview = GTK_TREE_VIEW (gtk_tree_view_new ()); 
     513        g_object_ref (priv->folders_treeview); 
    501514        gtk_tree_view_set_headers_visible (priv->folders_treeview, FALSE); 
    502515        gtk_tree_view_set_rules_hint (priv->folders_treeview, TRUE); 
     
    529542        TMutMenuViewPriv *priv = TMUT_MENU_VIEW_GET_PRIVATE (object); 
    530543 
     544        if (priv->folders_treeview) { 
     545                stop_folders_treeview ((TMutMenuView *) object); 
     546                g_object_unref (priv->folders_treeview); 
     547        } 
     548 
    531549        if (priv->account_store) 
    532550                g_object_unref (priv->account_store);