From 5a52d204fb95f2735596b6e7e1a66fe7b4aa155d Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Thu, 15 Oct 2009 20:31:12 +0100 Subject: gtk: Do not dereference a null window. Fixes GLib-GObject-CRITICAL **: g_object_ref: assertion 'G_IS_OBJECT (object)' failed --- src/canberra-gtk-module.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c index 1cb04bd..7a9595f 100644 --- a/src/canberra-gtk-module.c +++ b/src/canberra-gtk-module.c @@ -396,8 +396,12 @@ static void dispatch_sound_event(SoundEventData *d) { * event was queued for us. Make sure to update it from the * current one if necessary. */ if (d->event && d->event->any.window) { + GtkWindow *window; g_object_unref(d->event->any.window); - d->event->any.window = g_object_ref(G_OBJECT(gtk_widget_get_window(GTK_WIDGET(d->object)))); + if ((window = gtk_widget_get_window(GTK_WIDGET(d->object)))) + d->event->any.window = g_object_ref(G_OBJECT(window)); + else + d->event->any.window = NULL; } if (d->signal_id == signal_id_widget_show) { -- cgit