diff options
Diffstat (limited to 'gnome-base/gnome-control-center/files/gnome-control-center-2.26.0-gconf-unref.patch')
-rw-r--r-- | gnome-base/gnome-control-center/files/gnome-control-center-2.26.0-gconf-unref.patch | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-2.26.0-gconf-unref.patch b/gnome-base/gnome-control-center/files/gnome-control-center-2.26.0-gconf-unref.patch new file mode 100644 index 000000000000..24e8938d81e7 --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-2.26.0-gconf-unref.patch @@ -0,0 +1,16 @@ +Fix excessive gconf_entry_free. It causes capplets crashes when gconf isn't build with g_asserts. + +Gnome: http://bugzilla.gnome.org/show_bug.cgi?id=583117 +Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=270319 +--- a/capplets/common/gconf-property-editor.c ++++ b/capplets/common/gconf-property-editor.c +@@ -351,7 +351,8 @@ + gconf_entry = gconf_client_get_entry (client, GCONF_PROPERTY_EDITOR (obj)->p->key, NULL, TRUE, NULL); + GCONF_PROPERTY_EDITOR (obj)->p->callback (client, 0, gconf_entry, obj); + GCONF_PROPERTY_EDITOR (obj)->p->inited = TRUE; +- gconf_entry_free (gconf_entry); ++ if (gconf_entry) ++ gconf_entry_free (gconf_entry); + g_object_unref (client); + + return obj; |