GNOME Bugzilla – Bug 383868
WidgetFactory in SettingChooser never being released
Last modified: 2006-12-19 20:03:57 UTC
Something is holding a reference to the widget factory in the SettingChooser module indefinitely because its __del__ method is never getting calling. It could be that pygtk never completely releases its widget signal handler references when the dialog is destroyed. To fix, we would have to provide weak references to methods on WidgetFactor to all pygtk connect calls. We can do this by re-using the Proxy class in AEState.Setting. Really, it's pygtk's fault if this is the case and we should file a bug. Alternatively, if it's not pygtk, then our Proxy class might be behaving badly. It should only be keeping weak references to the WidgetFactory around when we register for setting value change notifications. But maybe it's broken in some way. I've tested it outside LSR and it has worked properly, so I'm doubtful that this is the problem.
Created attachment 78647 [details] [review] Proposed patch Yup, Weak references to the callbacks seems to allow the WidgetFactory to be released.
Created attachment 78648 [details] [review] Proposed patch Oops, wrong patch
Fixed in the development version. The fix will be available in the next major release. Thank you for your bug report.