[gtk+] inspector: Fix object-valued properties



commit 9b65955961f9be37bed4c903825f362fec2f438b
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu May 8 01:17:35 2014 -0400

    inspector: Fix object-valued properties
    
    The code for dealing with object-valued properties had several
    bugs that lead to crashes. This change makes it work.

 modules/inspector/prop-list.c              |    2 +-
 modules/inspector/property-cell-renderer.c |    2 +-
 modules/inspector/window.ui                |    2 ++
 3 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/modules/inspector/prop-list.c b/modules/inspector/prop-list.c
index 938ee32..6d10928 100644
--- a/modules/inspector/prop-list.c
+++ b/modules/inspector/prop-list.c
@@ -81,7 +81,6 @@ get_property (GObject    *object,
     {
       case PROP_WIDGET_TREE:
         g_value_take_object (value, pl->priv->widget_tree);
-        g_object_set_data (G_OBJECT (pl->priv->value_renderer), "gtk_inspector-widget-tree", 
pl->priv->widget_tree);
         break;
 
       case PROP_CHILD_PROPERTIES:
@@ -109,6 +108,7 @@ set_property (GObject      *object,
     {
       case PROP_WIDGET_TREE:
         pl->priv->widget_tree = g_value_get_object (value);
+        g_object_set_data (G_OBJECT (pl->priv->value_renderer), "gtk-inspector-widget-tree", 
pl->priv->widget_tree);
         break;
 
       case PROP_CHILD_PROPERTIES:
diff --git a/modules/inspector/property-cell-renderer.c b/modules/inspector/property-cell-renderer.c
index a0a2cf9..10d9898 100644
--- a/modules/inspector/property-cell-renderer.c
+++ b/modules/inspector/property-cell-renderer.c
@@ -261,7 +261,7 @@ start_editing (GtkCellRenderer      *renderer,
 
   if (G_VALUE_HOLDS_OBJECT (&gvalue))
     {
-      GtkInspectorWidgetTree *widget_tree = g_object_get_data (G_OBJECT (renderer), 
"gtk_inspector-widget-tree");
+      GtkInspectorWidgetTree *widget_tree = g_object_get_data (G_OBJECT (renderer), 
"gtk-inspector-widget-tree");
       GObject *prop_object = g_value_get_object (&gvalue);
       GtkTreeIter iter;
 
diff --git a/modules/inspector/window.ui b/modules/inspector/window.ui
index 6c364ab..8fa1a1c 100644
--- a/modules/inspector/window.ui
+++ b/modules/inspector/window.ui
@@ -128,6 +128,7 @@
                           <object class="GtkInspectorPropList" id="prop_list">
                             <property name="visible">True</property>
                             <property name="child-properties">False</property>
+                            <property name="widget-tree">widget_tree</property>
                           </object>
                         </child>
                       </object>
@@ -149,6 +150,7 @@
                           <object class="GtkInspectorPropList" id="child_prop_list">
                             <property name="visible">True</property>
                             <property name="child-properties">True</property>
+                            <property name="widget-tree">widget_tree</property>
                           </object>
                         </child>
                       </object>


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