diff options
author | Callum McKenzie <callum@spooky-possum.org> | 2009-05-22 15:28:11 +1200 |
---|---|---|
committer | Callum McKenzie <callum@spooky-possum.org> | 2009-05-22 15:35:48 +1200 |
commit | 028233636bb9fcd273a662794f397c8c02cdf466 (patch) | |
tree | fce808c8a938e95a8c41e5e951ae430810cbc6bc /mixer | |
parent | ee8ec22dfafb8aadd5d47a09a99756bbb5937b98 (diff) |
Fix a reference counting bug in the mixer.
The dock was being unrefed from the applet, but the applet had never claimed
ownership in the firstplace. Hence odd crashes, see bug 546735.
Diffstat (limited to 'mixer')
-rw-r--r-- | mixer/ChangeLog | 6 | ||||
-rw-r--r-- | mixer/applet.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/mixer/ChangeLog b/mixer/ChangeLog index 5036a6bea..d768ab4bc 100644 --- a/mixer/ChangeLog +++ b/mixer/ChangeLog @@ -1,3 +1,9 @@ +2009-05-22 Callum McKenzie <callum@spooky-possum.org> + + * applet.c (gnome_volume_applet_dispose): Explicitly ref the dock, + to match our unref in the dispose code. This was creating odd + crashes due to double-dereferencing. See bug 546735. + 2009-05-20 Callum McKenzie <callum@spooky-possum.org> * applet.c: diff --git a/mixer/applet.c b/mixer/applet.c index dd49c2646..7dcb41150 100644 --- a/mixer/applet.c +++ b/mixer/applet.c @@ -918,6 +918,7 @@ gnome_volume_applet_orientation (PanelApplet *_applet, } dock = gnome_volume_applet_dock_new (GTK_ORIENTATION_VERTICAL, applet); + g_object_ref_sink (dock); /* It isn't a child, but we do own it. */ gtk_widget_add_events (dock, GDK_FOCUS_CHANGE_MASK); g_signal_connect (G_OBJECT (dock), "focus-out-event", G_CALLBACK (gnome_volume_applet_dock_focus_out), |