[gtk+/gtk-3-14] wayland: don't init if XDG_RUNTIME_DIR missing



commit 8f1c6e3717f8c0d447bb65ea7dbf24850d96c5ab
Author: Ryan Lortie <desrt desrt ca>
Date:   Mon Oct 20 17:16:22 2014 -0400

    wayland: don't init if XDG_RUNTIME_DIR missing
    
    wayland doesn't strictly follow the XDG_RUNTIME_DIR spec by falling back
    to another directory in case the runtime dir is not properly set.
    
    When this variable is unset, wayland will log an error to us, which we
    treat as fatal, aborting the entire program.
    
    Skip ourselves all the trouble and don't try to bring up the wayland
    backend when we know it will fail in this way.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=738873

 gdk/wayland/gdkdisplay-wayland.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index dc344b4..5438a51 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -216,6 +216,13 @@ _gdk_wayland_display_open (const gchar *display_name)
   GdkDisplay *display;
   GdkWaylandDisplay *display_wayland;
 
+  /* If this variable is unset then wayland initialisation will surely
+   * fail, logging a fatal error in the process.  Save ourselves from
+   * that.
+   */
+  if (g_getenv ("XDG_RUNTIME_DIR") == NULL)
+    return NULL;
+
   wl_log_set_handler_client(log_handler);
 
   wl_display = wl_display_connect(display_name);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]