* Fixes a big memory leak caused by a renderer that was never drawn nor freed
authorSergio Villar Senin <svillar@igalia.com>
Thu, 21 Aug 2008 11:36:05 +0000 (11:36 +0000)
committerSergio Villar Senin <svillar@igalia.com>
Thu, 21 Aug 2008 11:36:05 +0000 (11:36 +0000)
pmo-trunk-r5339

src/modest-init.c
src/widgets/modest-header-view-render.c
src/widgets/modest-header-view.c
src/widgets/modest-header-view.h

index 7839b57..1c99eb6 100644 (file)
@@ -83,7 +83,6 @@ static const guint MODEST_MAIN_PANED_POS_PERCENTAGE = 30;
 static const guint MODEST_MSG_PANED_POS_PERCENTAGE = 50;
 
 static const FolderCols INBOX_COLUMNS_DETAILS[] = {
-       {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40, 0},
        {MODEST_HEADER_VIEW_COLUMN_ATTACH,  40, 0},
        {MODEST_HEADER_VIEW_COLUMN_FROM,    80, 0},
        {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 80, 0},
@@ -96,7 +95,6 @@ static const FolderCols INBOX_COLUMNS_TWOLINES[] = {
 };
 
 static const FolderCols OUTBOX_COLUMNS_DETAILS[] = {
-       {MODEST_HEADER_VIEW_COLUMN_MSGTYPE, 40, 0},
        {MODEST_HEADER_VIEW_COLUMN_ATTACH,  40, 0},
        {MODEST_HEADER_VIEW_COLUMN_TO,    80, 0},
        {MODEST_HEADER_VIEW_COLUMN_SUBJECT, 80, 0},
index a1a8299..9b03093 100644 (file)
@@ -154,27 +154,6 @@ set_cell_text (GtkCellRenderer *renderer,
        g_object_thaw_notify (G_OBJECT (renderer));
 }
 
-
-void
-_modest_header_view_msgtype_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
-                  GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer user_data)
-{
-       TnyHeaderFlags flags;
-               
-       gtk_tree_model_get (tree_model, iter, TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
-                           &flags, -1);
-
-       if (flags & TNY_HEADER_FLAG_DELETED)
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (TNY_HEADER_FLAG_DELETED), NULL);           
-       else if (flags & TNY_HEADER_FLAG_SEEN)
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (TNY_HEADER_FLAG_SEEN), NULL);              
-       else 
-               g_object_set (G_OBJECT (renderer), "pixbuf",
-                             get_pixbuf_for_flag (0), NULL); /* ughh, FIXME */               
-}
-
 void
 _modest_header_view_attach_cell_data (GtkTreeViewColumn *column, GtkCellRenderer *renderer,
                                      GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer user_data)
index 239d3dd..934fc37 100644 (file)
@@ -337,7 +337,7 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        GtkTreeModel *tree_filter, *sortable;
        GtkTreeViewColumn *column=NULL;
        GtkTreeSelection *selection = NULL;
-       GtkCellRenderer *renderer_msgtype,*renderer_header,
+       GtkCellRenderer *renderer_header,
                *renderer_attach, *renderer_compact_date_or_status;
        GtkCellRenderer *renderer_compact_header, *renderer_recpt_box, 
                *renderer_subject, *renderer_subject_box, *renderer_recpt,
@@ -352,7 +352,6 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
        priv = MODEST_HEADER_VIEW_GET_PRIVATE(self); 
 
        /* FIXME: check whether these renderers need to be freed */
-       renderer_msgtype = gtk_cell_renderer_pixbuf_new ();
        renderer_attach  = gtk_cell_renderer_pixbuf_new ();
        renderer_priority  = gtk_cell_renderer_pixbuf_new ();
        renderer_header  = gtk_cell_renderer_text_new ();
@@ -434,15 +433,6 @@ modest_header_view_set_columns (ModestHeaderView *self, const GList *columns, Tn
                
                switch (col) {
                        
-               case MODEST_HEADER_VIEW_COLUMN_MSGTYPE:
-                       column = get_new_column (_("M"), renderer_msgtype, FALSE,
-                                                TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
-                                                FALSE,
-                                                (GtkTreeCellDataFunc)_modest_header_view_msgtype_cell_data,
-                                                NULL);
-                       gtk_tree_view_column_set_fixed_width (column, 45);
-                       break;
-
                case MODEST_HEADER_VIEW_COLUMN_ATTACH:
                        column = get_new_column (_("A"), renderer_attach, FALSE,
                                                 TNY_GTK_HEADER_LIST_MODEL_FLAGS_COLUMN,
index c59d4db..e1d671b 100644 (file)
@@ -61,25 +61,24 @@ struct _ModestHeaderView {
 #define MODEST_HEADER_VIEW_FLAG_SORT "header-view-flags-sort"
 
 typedef enum _ModestHeaderViewColumn {
-       MODEST_HEADER_VIEW_COLUMN_FROM                  = 0,
-       MODEST_HEADER_VIEW_COLUMN_TO                    = 1,
-       MODEST_HEADER_VIEW_COLUMN_SUBJECT               = 2,
-       MODEST_HEADER_VIEW_COLUMN_SENT_DATE             = 3,
-       MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE         = 4,
-       MODEST_HEADER_VIEW_COLUMN_MSGTYPE               = 5,
-       MODEST_HEADER_VIEW_COLUMN_ATTACH                = 6,
-       MODEST_HEADER_VIEW_COLUMN_SIZE                  = 7,
-       MODEST_HEADER_VIEW_COLUMN_STATUS                = 8,
+       MODEST_HEADER_VIEW_COLUMN_FROM,
+       MODEST_HEADER_VIEW_COLUMN_TO,
+       MODEST_HEADER_VIEW_COLUMN_SUBJECT,
+       MODEST_HEADER_VIEW_COLUMN_SENT_DATE,
+       MODEST_HEADER_VIEW_COLUMN_RECEIVED_DATE,
+       MODEST_HEADER_VIEW_COLUMN_ATTACH,
+       MODEST_HEADER_VIEW_COLUMN_SIZE,
+       MODEST_HEADER_VIEW_COLUMN_STATUS,
 
        /*
         * these two are for compact display on small devices,
         * with two line display with all relevant headers
         */
-       MODEST_HEADER_VIEW_COLUMN_COMPACT_FLAG          = 9, /* priority and attachments */
-       MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN     = 10, /* incoming mail */
-       MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT    = 11,/* outgoing mail */
-       MODEST_HEADER_VIEW_COLUMN_COMPACT_SENT_DATE     = 12,
-       MODEST_HEADER_VIEW_COLUMN_COMPACT_RECEIVED_DATE = 13,
+       MODEST_HEADER_VIEW_COLUMN_COMPACT_FLAG, /* priority and attachments */
+       MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_IN, /* incoming mail */
+       MODEST_HEADER_VIEW_COLUMN_COMPACT_HEADER_OUT,/* outgoing mail */
+       MODEST_HEADER_VIEW_COLUMN_COMPACT_SENT_DATE,
+       MODEST_HEADER_VIEW_COLUMN_COMPACT_RECEIVED_DATE,
 
        MODEST_HEADER_VIEW_COLUMN_NUM