diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | plugins/gtk+/glade-model-data.c | 9 |
2 files changed, 14 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2011-01-29 Tristan Van Berkom <tristanvb@openismus.com> + + * plugins/gtk+/glade-model-data.c: Avoid committing the data if the data did not + change... committing the data when there is no change can cause the editor to + load itself, this editor does not deal with that well. Fixes crasher bug 622839. + 2011-01-24 Tristan Van Berkom <tristanvb@openismus.com> * 41 files: Fixed typo in LGPL License file headers. diff --git a/plugins/gtk+/glade-model-data.c b/plugins/gtk+/glade-model-data.c index 0e08fca8..2c696144 100644 --- a/plugins/gtk+/glade-model-data.c +++ b/plugins/gtk+/glade-model-data.c @@ -328,7 +328,14 @@ update_data_tree_idle (GladeEditorProperty *eprop) g_value_init (&value, GLADE_TYPE_MODEL_DATA_TREE); g_value_take_boxed (&value, eprop_data->pending_data_tree); - glade_editor_property_commit (eprop, &value); + + /* Only commit the value if it changed, otherwise this + * can trigger a load.. which we dont handle well in this + * editor + */ + if (!glade_property_equals_value (eprop->property, &value)) + glade_editor_property_commit (eprop, &value); + g_value_unset (&value); eprop_data->pending_data_tree = NULL; |