[gimp] app, libgimp: protect a bit GDK X Window calls.



commit 33520a547d7fff355d7d0372e04c1792e4da98cf
Author: Jehan <jehan girinstud io>
Date:   Sun Jun 21 12:54:13 2020 +0200

    app, libgimp: protect a bit GDK X Window calls.
    
    The GDK_WINDOWING_X11 build-time macro check is not enough as GDK can be
    built with both X11 and Wayland backends. We need to add a runtime check
    of the type of display.

 app/widgets/gimpwidgets-utils.c | 5 +++--
 libgimp/gimpui.c                | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c
index 937e938116..93356fa23c 100644
--- a/app/widgets/gimpwidgets-utils.c
+++ b/app/widgets/gimpwidgets-utils.c
@@ -913,8 +913,9 @@ static GdkWindow *
 gimp_get_foreign_window (guint32 window)
 {
 #ifdef GDK_WINDOWING_X11
-  return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
-                                                 window);
+  if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
+    return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
+                                                   window);
 #endif
 
 #ifdef GDK_WINDOWING_WIN32
diff --git a/libgimp/gimpui.c b/libgimp/gimpui.c
index 4bf31eaa4b..bfb7202ee1 100644
--- a/libgimp/gimpui.c
+++ b/libgimp/gimpui.c
@@ -178,8 +178,9 @@ static GdkWindow *
 gimp_ui_get_foreign_window (guint32 window)
 {
 #ifdef GDK_WINDOWING_X11
-  return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
-                                                 window);
+  if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
+    return gdk_x11_window_foreign_new_for_display (gdk_display_get_default (),
+                                                   window);
 #endif
 
 #ifdef GDK_WINDOWING_WIN32


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