summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-09-19 10:35:42 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-09-19 10:35:42 -0300
commit95ef48e8234e456fbb712bef919f485a10968312 (patch)
treea0e96060396f8d2fb84a436af263c854bd138575
parent6213984875bb4933f1903e1078898583a0784f77 (diff)
downloadglade-95ef48e8234e456fbb712bef919f485a10968312.tar.gz
Added workaround for Bug 625867 "RadioButton information lost on cut+paste, add/remove parent, etc"
-rw-r--r--gladeui/glade-widget.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c
index a1daddd1..7ca924cc 100644
--- a/gladeui/glade-widget.c
+++ b/gladeui/glade-widget.c
@@ -497,9 +497,14 @@ glade_widget_template_params (GladeWidget *widget,
continue;
}
- if (g_param_values_cmp (pspec[i],
- glade_property->value,
- pclass->orig_def) == 0)
+ /* We only check equality on properties introduced by the same class because
+ * others properties could change its default in a derivated class
+ * so its is better to transfer every property and reset them.
+ */
+ if (pspec[i]->owner_type == glade_property->widget->adaptor->type &&
+ g_param_values_cmp (pspec[i],
+ glade_property->value,
+ pclass->orig_def) == 0)
continue;