GNOME Bugzilla – Bug 740848
Backend subscription fails when connecting to a signal with a detail
Last modified: 2014-11-28 14:19:53 UTC
See patch.
Created attachment 291717 [details] [review] GSettings: fix check for delaying backend subscription g_settings_has_signal_handlers() checks whether any of the signals has pending handlers. However, g_signal_has_handler_pending() matches on exact detail, even when passing 0. Subscribing to one of GSettings' signals with a detail will fail this check and never connect to the backend. Fix this by calling has_handler_pending() with the key as detail as well.
Review of attachment 291717 [details] [review]: Ugh. I would have figured 0 was a wildcard. I assume you tested this and it properly works the other way? :) Nice idea for the fix in any case -- and I guess you know that this will be reverted soon.
Attachment 291717 [details] pushed as d511d6b - GSettings: fix check for delaying backend subscription