diff options
-rw-r--r-- | docs/reference/gtk/tmpl/gtkbuildable.sgml | 6 | ||||
-rw-r--r-- | gtk/gtkwidget.c | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/docs/reference/gtk/tmpl/gtkbuildable.sgml b/docs/reference/gtk/tmpl/gtkbuildable.sgml index 16857ae60c..935a2c77f6 100644 --- a/docs/reference/gtk/tmpl/gtkbuildable.sgml +++ b/docs/reference/gtk/tmpl/gtkbuildable.sgml @@ -41,10 +41,8 @@ a GtkBuilder UI definition. @g_iface: the parent class @set_name: Stores the name attribute given in the GtkBuilder UI definition. - #GtkWidget maps this to the #GtkWidget:name property, and - gtk_buildable_set_name() has a fallback implementation that stores - the name as object data. Implement this method if your object - has some notion of "name" and it makes sense to map the XML name + #GtkWidget stores the name as object data. Implement this method if your + object has some notion of "name" and it makes sense to map the XML name attribute to it. @get_name: The getter corresponding to @set_name. Implement this if you implement @set_name. diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 36bbcb4ee5..74392eb0b3 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -10055,6 +10055,7 @@ gtk_widget_ref_accessible (AtkImplementor *implementor) static GQuark quark_builder_has_default = 0; static GQuark quark_builder_has_focus = 0; static GQuark quark_builder_atk_relations = 0; +static GQuark quark_builder_set_name = 0; static void gtk_widget_buildable_interface_init (GtkBuildableIface *iface) @@ -10062,6 +10063,7 @@ gtk_widget_buildable_interface_init (GtkBuildableIface *iface) quark_builder_has_default = g_quark_from_static_string ("gtk-builder-has-default"); quark_builder_has_focus = g_quark_from_static_string ("gtk-builder-has-focus"); quark_builder_atk_relations = g_quark_from_static_string ("gtk-builder-atk-relations"); + quark_builder_set_name = g_quark_from_static_string ("gtk-builder-set-name"); iface->set_name = gtk_widget_buildable_set_name; iface->get_name = gtk_widget_buildable_get_name; @@ -10076,13 +10078,14 @@ static void gtk_widget_buildable_set_name (GtkBuildable *buildable, const gchar *name) { - gtk_widget_set_name (GTK_WIDGET (buildable), name); + g_object_set_qdata_full (G_OBJECT (buildable), quark_builder_set_name, + g_strdup (name), g_free); } static const gchar * gtk_widget_buildable_get_name (GtkBuildable *buildable) { - return gtk_widget_get_name (GTK_WIDGET (buildable)); + return g_object_get_qdata (G_OBJECT (buildable), quark_builder_set_name); } static GObject * |