summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mixer/ChangeLog6
-rw-r--r--mixer/applet.c1
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),