[glade/glade-3-8] Backport fix for glade_gtk_cell_renderer_sync_attributes()



commit 094a1ee9ac625e56d2792f37fe4feecc6a434501
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Fri Oct 9 17:53:01 2020 -0300

    Backport fix for glade_gtk_cell_renderer_sync_attributes()
    
    Close issue #113 "Crash at glade_gtk_cell_renderer_sync_attributes()"

 plugins/gtk+/glade-gtk.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index c01a1d69..8244bd92 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -10638,6 +10638,7 @@ glade_gtk_cell_renderer_sync_attributes (GObject *object)
        GtkCellLayout *layout;
        GtkCellRenderer *cell;
        GladeWidget *widget = glade_widget_get_from_gobject (object);
+        GladeWidget *parent;
        GladeWidget *gmodel;
        GladeProperty *property;
        gchar *attr_prop_name;
@@ -10650,13 +10651,15 @@ glade_gtk_cell_renderer_sync_attributes (GObject *object)
 
        /* Apply attributes to renderer when bound to a model in runtime */
        widget = glade_widget_get_from_gobject (object);
-               
-       if (widget->parent == NULL) return FALSE;
+
+       parent = glade_widget_get_parent (widget);
+       if (parent == NULL)
+               return FALSE;
 
        /* When creating widgets, sometimes the parent is set before parenting happens,
         * here we have to be careful for that..
         */
-       layout = GTK_CELL_LAYOUT (widget->parent->object);
+       layout = GTK_CELL_LAYOUT (parent->object);
        cell = GTK_CELL_RENDERER (object);
 
        if (!glade_gtk_cell_layout_has_renderer (layout, cell))


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