After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 705688 - g_settings_list_children: only list viable schemas
g_settings_list_children: only list viable schemas
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gsettings
unspecified
Other All
: Normal normal
: ---
Assigned To: Allison Karlitskaya (desrt)
gtkdev
Depends on:
Blocks:
 
 
Reported: 2013-08-08 16:55 UTC by Allison Karlitskaya (desrt)
Modified: 2013-10-02 16:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
g_settings_list_children: only list viable schemas (3.03 KB, patch)
2013-08-08 16:55 UTC, Allison Karlitskaya (desrt)
committed Details | Review

Description Allison Karlitskaya (desrt) 2013-08-08 16:55:41 UTC
See patch.
Comment 1 Allison Karlitskaya (desrt) 2013-08-08 16:55:43 UTC
Created attachment 251198 [details] [review]
g_settings_list_children: only list viable schemas

Don't return children with invalid schemas from
g_settings_list_children() (ie: missing schemas or mismatched paths).
This prevents gsettings list-recursively from crashing when broken
schemas are installed on the system.
Comment 2 Magdalen Berns (irc magpie) 2013-08-10 14:49:46 UTC
Review of attachment 251198 [details] [review]:

I have tested the bug in jhbuild on the latest version of fedora 19. It seems to remove the problem.
 
I believe the patch works.
Comment 3 Magdalen Berns (irc magpie) 2013-08-10 14:50:59 UTC
More detail on how to recreate the bug:

Go into a terminal and type 

 $ gsettings list-recursively 

you will get the following error after some schemas are successfully listed:

(process:641): GLib-GIO-ERROR **: settings object created with schema 'org.gnome.gedit.plugins.collaboration.user' and path '/org/gnome/gedit/plugins/collaboration/user/', but path '/org/gnome/gedit-plugins/collaboration/user/' is specified by schema
Trace/breakpoint trap (core dumped)
Comment 4 Magdalen Berns (irc magpie) 2013-10-02 15:35:38 UTC
Did this not get pushed?
Comment 5 Allison Karlitskaya (desrt) 2013-10-02 16:37:27 UTC
Attachment 251198 [details] pushed as 2789891 - g_settings_list_children: only list viable schemas
Comment 6 Allison Karlitskaya (desrt) 2013-10-02 16:38:55 UTC
Pushed and merged to stable.  Thanks for the reminder.