diff --git a/katze/gtk3-compat.h b/katze/gtk3-compat.h index 12981b1..a8450af 100644 --- a/katze/gtk3-compat.h +++ b/katze/gtk3-compat.h @@ -116,6 +116,10 @@ G_BEGIN_DECLS #define GDK_KEY_Return GDK_Return #endif +#ifndef GDK_IS_X11_DISPLAY + #define GDK_IS_X11_DISPLAY(display) TRUE +#endif + G_END_DECLS #endif diff --git a/midori/main.c b/midori/main.c index 874421c..b9a6b74 100644 --- a/midori/main.c +++ b/midori/main.c @@ -1703,9 +1703,16 @@ midori_inactivity_timeout (gpointer data) if (has_extension == -1) { GdkDisplay* display = gtk_widget_get_display (GTK_WIDGET (mit->browser)); - xdisplay = GDK_DISPLAY_XDISPLAY (display); - has_extension = XScreenSaverQueryExtension (xdisplay, - &event_base, &error_base); + if (GDK_IS_X11_DISPLAY (display)) + { + xdisplay = GDK_DISPLAY_XDISPLAY (display); + has_extension = XScreenSaverQueryExtension (xdisplay, + &event_base, &error_base); + } + else + { + has_extension = 0; + } } if (has_extension) diff --git a/midori/sokoke.c b/midori/sokoke.c index 34d2b09..b5f0675 100644 --- a/midori/sokoke.c +++ b/midori/sokoke.c @@ -678,26 +678,29 @@ sokoke_get_desktop (void) } else { - /* Are we running in Xfce <= 4.6? */ - GdkDisplay* display = gdk_display_get_default (); - Display* xdisplay = GDK_DISPLAY_XDISPLAY (display); - Window root_window = RootWindow (xdisplay, 0); - Atom save_mode_atom = gdk_x11_get_xatom_by_name_for_display ( - display, "_DT_SAVE_MODE"); - Atom actual_type; - int actual_format; - unsigned long n_items, bytes; - gchar* value; - int status = XGetWindowProperty (xdisplay, root_window, - save_mode_atom, 0, (~0L), - False, AnyPropertyType, &actual_type, &actual_format, - &n_items, &bytes, (unsigned char**)&value); - if (status == Success) - { - if (n_items == 6 && !strncmp (value, "xfce4", 6)) - desktop = SOKOKE_DESKTOP_XFCE; - XFree (value); - } + /* Are we running in Xfce <= 4.6? */ + GdkDisplay* display = gdk_display_get_default (); + if (GDK_IS_X11_DISPLAY (display)) + { + Display* xdisplay = GDK_DISPLAY_XDISPLAY (display); + Window root_window = RootWindow (xdisplay, 0); + Atom save_mode_atom = gdk_x11_get_xatom_by_name_for_display ( + display, "_DT_SAVE_MODE"); + Atom actual_type; + int actual_format; + unsigned long n_items, bytes; + gchar* value; + int status = XGetWindowProperty (xdisplay, root_window, + save_mode_atom, 0, (~0L), + False, AnyPropertyType, &actual_type, &actual_format, + &n_items, &bytes, (unsigned char**)&value); + if (status == Success) + { + if (n_items == 6 && !strncmp (value, "xfce4", 6)) + desktop = SOKOKE_DESKTOP_XFCE; + XFree (value); + } + } } }