[gtk+] Fix a crash introduced in the previous commit



commit 5478bd59bf23acfc8429728a7dfedd65472743ce
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Dec 19 14:17:55 2017 -0500

    Fix a crash introduced in the previous commit
    
    The signatures of row-inserted and row-deleted are not
    identical, so we need to be a bit more careful here.

 gtk/gtkfontchooserwidget.c     |    9 +++------
 gtk/ui/gtkfontchooserwidget.ui |    4 ++--
 2 files changed, 5 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index b8ee15f..5e5d582 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -547,14 +547,11 @@ gtk_font_chooser_widget_update_preview_attributes (GtkFontChooserWidget *fontcho
 }
 
 static void
-rows_changed_cb (GtkTreeModel *model,
-                 GtkTreePath  *path,
-                 gpointer      user_data)
+rows_changed_cb (GtkFontChooserWidget *fontchooser)
 {
-  GtkFontChooserWidget *fontchooser = user_data;
   GtkFontChooserWidgetPrivate *priv = fontchooser->priv;
 
-  if (gtk_tree_model_iter_n_children (model, NULL) == 0)
+  if (gtk_tree_model_iter_n_children (priv->filter_model, NULL) == 0)
     gtk_stack_set_visible_child_name (GTK_STACK (priv->list_stack), "empty");
   else
     gtk_stack_set_visible_child_name (GTK_STACK (priv->list_stack), "list");
@@ -815,7 +812,7 @@ gtk_font_chooser_widget_load_fonts (GtkFontChooserWidget *fontchooser,
 
   g_free (families);
 
-  rows_changed_cb (priv->filter_model, NULL, fontchooser);
+  rows_changed_cb (fontchooser);
 
   g_signal_handlers_unblock_by_func (priv->filter_model, rows_changed_cb, fontchooser);
   g_signal_handlers_unblock_by_func (priv->family_face_list, cursor_changed_cb, fontchooser);
diff --git a/gtk/ui/gtkfontchooserwidget.ui b/gtk/ui/gtkfontchooserwidget.ui
index 8a3bf50..93eefd1 100644
--- a/gtk/ui/gtkfontchooserwidget.ui
+++ b/gtk/ui/gtkfontchooserwidget.ui
@@ -15,8 +15,8 @@
   </object>
   <object class="GtkTreeModelFilter" id="filter_model">
     <property name="child-model">model</property>
-    <signal name="row-deleted" handler="rows_changed_cb" swapped="no"/>
-    <signal name="row-inserted" handler="rows_changed_cb" swapped="no"/>
+    <signal name="row-deleted" handler="rows_changed_cb" swapped="yes"/>
+    <signal name="row-inserted" handler="rows_changed_cb" swapped="yes"/>
   </object>
   <object class="GtkAdjustment" id="slider_adjustment">
     <property name="upper">100</property>


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