[yelp] yelp: check if running on X11 before running gdk_x11_* code
- From: Shaun McCance <shaunm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [yelp] yelp: check if running on X11 before running gdk_x11_* code
- Date: Mon, 28 Apr 2014 18:41:49 +0000 (UTC)
commit 81c4eead48192e41384e6096f122524c7e0e695e
Author: Armin K <krejzi email com>
Date: Mon Sep 16 20:25:29 2013 +0200
yelp: check if running on X11 before running gdk_x11_* code
https://bugzilla.gnome.org/show_bug.cgi?id=708181
libyelp/yelp-view.c | 6 +++++-
src/yelp-application.c | 29 +++++++++++++++++++----------
2 files changed, 24 insertions(+), 11 deletions(-)
---
diff --git a/libyelp/yelp-view.c b/libyelp/yelp-view.c
index f27dd2e..1ec960a 100644
--- a/libyelp/yelp-view.c
+++ b/libyelp/yelp-view.c
@@ -26,7 +26,9 @@
#include <glib-object.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
+#endif
#include <webkit/webkit.h>
#include "yelp-debug.h"
@@ -785,8 +787,10 @@ view_install_uri (YelpView *view,
gtkwin = gtk_widget_get_toplevel (GTK_WIDGET (view));
if (gtkwin != NULL && gtk_widget_is_toplevel (gtkwin)) {
gdkwin = gtk_widget_get_window (gtkwin);
- if (gdkwin != NULL)
+#ifdef GDK_WINDOWING_X11
+ if (gdkwin != NULL && GDK_IS_X11_WINDOW (gdkwin))
xid = gdk_x11_window_get_xid (gdkwin);
+#endif
}
if (priv->state == YELP_VIEW_STATE_ERROR)
diff --git a/src/yelp-application.c b/src/yelp-application.c
index 2ac1f99..6f125ba 100644
--- a/src/yelp-application.c
+++ b/src/yelp-application.c
@@ -28,7 +28,9 @@
#include <gio/gsettingsbackend.h>
#include <glib/gi18n.h>
#include <gtk/gtk.h>
+#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
+#endif
#include <stdlib.h>
#include "yelp-bookmarks.h"
@@ -467,18 +469,25 @@ application_uri_resolved (YelpUri *uri,
/* Metacity no longer does anything useful with gtk_window_present */
gdk_window = gtk_widget_get_window (GTK_WIDGET (window));
- if (gdk_window)
- gdk_x11_window_move_to_current_desktop (gdk_window);
- /* Ensure we actually present the window when invoked from the command
- * line. This is somewhat evil, but the minor evil of Yelp stealing
- * focus (after you requested it) is outweighed for me by the major
- * evil of no help window appearing when you click Help.
- */
- if (data->timestamp == 0)
- data->timestamp = gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window)));
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_WINDOW (gdk_window)){
+ if (gdk_window)
+ gdk_x11_window_move_to_current_desktop (gdk_window);
+
+ /* Ensure we actually present the window when invoked from the command
+ * line. This is somewhat evil, but the minor evil of Yelp stealing
+ * focus (after you requested it) is outweighed for me by the major
+ * evil of no help window appearing when you click Help.
+ */
+ if (data->timestamp == 0)
+ data->timestamp = gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window)));
- gtk_window_present_with_time (GTK_WINDOW (window), data->timestamp);
+ gtk_window_present_with_time (GTK_WINDOW (window), data->timestamp);
+ }
+ else
+#endif
+ gtk_window_present (GTK_WINDOW (window));
g_object_unref (uri);
g_free (data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]