GNOME Bugzilla – Bug 692354
color: disconnect signals when the panel goes away
Last modified: 2013-01-23 13:11:03 UTC
The CdClient object is a singleton, thus it could conceivable survive the panel, even though we drop our reference in dispose. In that case, the signal handlers have stale user_data, and bad things might happen when they trigger. This patch is a guess at the cause for the stacktrace in https://bugzilla.redhat.com/show_bug.cgi?id=893914
Created attachment 234163 [details] [review] color: disconnect signals when the panel goes away
Review of attachment 234163 [details] [review]: Looks good. What would be keeping a hold of a CdClient object though?
Review of attachment 234163 [details] [review]: Agreed, nothing else should be using CdClient. The only thing I can think of is if you open the color panel and then do "gnome-control-center color" in another tab -- but I'd hope that checked if the correct panel was already open, so I'm out of ideas.
Comment on attachment 234163 [details] [review] color: disconnect signals when the panel goes away This patch is not quite right. The g_signal_connect_object function requires five arguments, not four.
I've fixed that after the fact. Sorry for the brief build breakage.