[gtk+/gtk-2-24] gtk: queue_resize() the GtkCellView when its cells change



commit 1a4132a72e9ceb78e692a1439d17025966b8f87c
Author: Michael Natterer <mitch gimp org>
Date:   Mon Jun 3 16:33:57 2013 +0200

    gtk: queue_resize() the GtkCellView when its cells change
    
    in pack_start(), pack_end(), clear(), also queue_resize() in
    set_model().  Remove calls to queue_draw() in other functions that
    already call queue_resize().

 gtk/gtkcellview.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c
index bbb4f7b..4b26c05 100644
--- a/gtk/gtkcellview.c
+++ b/gtk/gtkcellview.c
@@ -580,6 +580,8 @@ gtk_cell_view_cell_layout_pack_start (GtkCellLayout   *layout,
   info->pack = GTK_PACK_START;
 
   cellview->priv->cell_list = g_list_append (cellview->priv->cell_list, info);
+
+  gtk_widget_queue_resize (GTK_WIDGET (cellview));
 }
 
 static void
@@ -600,6 +602,8 @@ gtk_cell_view_cell_layout_pack_end (GtkCellLayout   *layout,
   info->pack = GTK_PACK_END;
 
   cellview->priv->cell_list = g_list_append (cellview->priv->cell_list, info);
+
+  gtk_widget_queue_resize (GTK_WIDGET (cellview));
 }
 
 static void
@@ -635,6 +639,8 @@ gtk_cell_view_cell_layout_clear (GtkCellLayout *layout)
       cellview->priv->cell_list = g_list_delete_link (cellview->priv->cell_list, 
                                                      cellview->priv->cell_list);
     }
+
+  gtk_widget_queue_resize (GTK_WIDGET (cellview));
 }
 
 static void
@@ -851,7 +857,6 @@ gtk_cell_view_set_value (GtkCellView     *cell_view,
 
   /* force resize and redraw */
   gtk_widget_queue_resize (GTK_WIDGET (cell_view));
-  gtk_widget_queue_draw (GTK_WIDGET (cell_view));
 }
 
 /**
@@ -886,6 +891,8 @@ gtk_cell_view_set_model (GtkCellView  *cell_view,
 
   if (cell_view->priv->model)
     g_object_ref (cell_view->priv->model);
+
+  gtk_widget_queue_resize (GTK_WIDGET (cell_view));
 }
 
 /**
@@ -941,7 +948,6 @@ gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
 
   /* force resize and redraw */
   gtk_widget_queue_resize (GTK_WIDGET (cell_view));
-  gtk_widget_queue_draw (GTK_WIDGET (cell_view));
 }
 
 /**


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]