diff options
| -rw-r--r-- | src/canberra-gtk-module.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c index 7a9595f..88e213b 100644 --- a/src/canberra-gtk-module.c +++ b/src/canberra-gtk-module.c @@ -396,10 +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); +        GdkWindow *window; + +        g_object_unref(G_OBJECT(d->event->any.window)); +          if ((window = gtk_widget_get_window(GTK_WIDGET(d->object)))) -            d->event->any.window = g_object_ref(G_OBJECT(window)); +            d->event->any.window = GDK_WINDOW(g_object_ref(G_OBJECT(window)));          else              d->event->any.window = NULL;      }  | 
