diff options
Diffstat (limited to 'extra/gconf-editor/fix-assertion-failed-crash.patch')
-rw-r--r-- | extra/gconf-editor/fix-assertion-failed-crash.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/extra/gconf-editor/fix-assertion-failed-crash.patch b/extra/gconf-editor/fix-assertion-failed-crash.patch new file mode 100644 index 000000000..c9162f7f6 --- /dev/null +++ b/extra/gconf-editor/fix-assertion-failed-crash.patch @@ -0,0 +1,34 @@ +From 25d823099337f7ede4782f46fea46f251646dc3e Mon Sep 17 00:00:00 2001 +From: Edward Sheldrake <ejsheldrake@gmail.com> +Date: Wed, 11 Apr 2012 07:27:16 +0000 +Subject: Fix assertion failed crash + +Fix "assertion failed: (last_slash != NULL)" crash while navigating the +left tree view, fixed by having the model for the right list view emit +all the row deleted signals before deleting any of its data. + +Fixes https://bugzilla.gnome.org/show_bug.cgi?id=670586 +--- +diff --git a/src/gconf-list-model.c b/src/gconf-list-model.c +index 27e1af6..4fc60f8 100644 +--- a/src/gconf-list-model.c ++++ b/src/gconf-list-model.c +@@ -133,11 +133,14 @@ gconf_list_model_set_root_path (GConfListModel *model, const gchar *root_path) + + if (model->root_path != NULL) { + for (list = model->values; list; list = list->next) { ++ model->stamp++; ++ gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path); ++ } ++ ++ for (list = model->values; list; list = list->next) { + GConfEntry *entry = list->data; + + g_hash_table_remove (model->key_hash, gconf_entry_get_key (entry)); +- model->stamp++; +- gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path); + + gconf_entry_unref (entry); + } +-- +cgit v0.9.0.2 |