--- src/canberra-gtk-module.c.orig 2012-05-15 05:23:57.000000000 -0500 +++ src/canberra-gtk-module.c 2013-01-28 00:28:46.000000000 -0600 @@ -25,8 +25,10 @@ #endif #include +#if defined(GDK_WINDOWING_X11) #include #include +#endif #include "canberra-gtk.h" @@ -299,6 +301,7 @@ static SoundEventData* filter_sound_event(SoundEventData *d) { return d; } +#ifdef GDK_WINDOWING_X11 static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { Atom type_return; gint format_return; @@ -395,6 +398,19 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { return ret; } +#else /* !GDK_WINDOWING_X11 */ +static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + return -1; +} + +static gint display_get_desktop(GdkDisplay *d) { + return -1; +} + +static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + return FALSE; +} +#endif static void dispatch_sound_event(SoundEventData *d) { int ret = CA_SUCCESS; --- src/canberra-gtk.c.orig 2010-09-28 08:55:03.000000000 -0500 +++ src/canberra-gtk.c 2013-01-28 00:28:46.000000000 -0600 @@ -26,8 +26,10 @@ #include #include +#if defined(GDK_WINDOWING_X11) #include #include +#endif #include "canberra.h" #include "canberra-gtk.h" @@ -177,6 +179,7 @@ static GtkWindow* get_toplevel(GtkWidget *w) { return GTK_WINDOW(w); } +#ifdef GDK_WINDOWING_X11 static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { Atom type_return; gint format_return; @@ -204,6 +207,7 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { return ret; } +#endif /** * ca_gtk_proplist_set_for_widget: @@ -258,6 +262,7 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) { GdkDisplay *display = NULL; gint x = -1, y = -1, width = -1, height = -1, screen_width = -1, screen_height = -1; +#ifdef GDK_WINDOWING_X11 if ((dw = gtk_widget_get_window(GTK_WIDGET(w)))) if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long) GDK_WINDOW_XID(dw))) < 0) return ret; @@ -285,6 +290,11 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) { if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_MONITOR, "%i", gdk_screen_get_monitor_at_window(screen, dw))) < 0) return ret; } +#else /* !GDK_WINDOWING_X11 */ + dw = gtk_widget_get_window(GTK_WIDGET(w)); + display = gtk_widget_get_display(GTK_WIDGET(w)); + screen = gtk_widget_get_screen(GTK_WIDGET(w)); +#endif /* FIXME, this might cause a round trip */