summaryrefslogtreecommitdiff
path: root/src/canberra-gtk-module.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/canberra-gtk-module.c')
-rw-r--r--src/canberra-gtk-module.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c
index c1532ab..b83e0d2 100644
--- a/src/canberra-gtk-module.c
+++ b/src/canberra-gtk-module.c
@@ -25,7 +25,9 @@
#endif
#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
+#endif
#include <X11/Xatom.h>
#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;
@@ -410,6 +413,7 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) {
return ret;
}
+#endif
static void dispatch_sound_event(SoundEventData *d) {
int ret = CA_SUCCESS;
@@ -471,13 +475,16 @@ static void dispatch_sound_event(SoundEventData *d) {
hint == GDK_WINDOW_TYPE_HINT_DIALOG) {
gboolean played_sound = FALSE;
- gboolean is_xembed;
-
- is_xembed =
- gtk_widget_get_realized(GTK_WIDGET(d->object)) &&
- window_is_xembed(
- gtk_widget_get_display(GTK_WIDGET(d->object)),
- gtk_widget_get_window(GTK_WIDGET(d->object)));
+ gboolean is_xembed = FALSE;
+
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (d->object))))
+ is_xembed =
+ gtk_widget_get_realized(GTK_WIDGET(d->object)) &&
+ window_is_xembed(
+ gtk_widget_get_display(GTK_WIDGET(d->object)),
+ gtk_widget_get_window(GTK_WIDGET(d->object)));
+#endif
g_object_set_qdata(d->object, is_xembed_quark, GINT_TO_POINTER(is_xembed));
@@ -596,8 +603,16 @@ static void dispatch_sound_event(SoundEventData *d) {
GdkDisplay *display;
display = gtk_widget_get_display(GTK_WIDGET(d->object));
- w_desktop = window_get_desktop(display, gtk_widget_get_window(GTK_WIDGET(d->object)));
- c_desktop = display_get_desktop(display);
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_DISPLAY (display)) {
+ w_desktop = window_get_desktop(display, gtk_widget_get_window(GTK_WIDGET(d->object)));
+ c_desktop = display_get_desktop(display);
+ } else
+#endif
+ {
+ w_desktop = 0;
+ c_desktop = 0;
+ }
}
if ((e->changed_mask & GDK_WINDOW_STATE_ICONIFIED) &&