[gtk+] X11: Don't assume all displays are X11 displays
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] X11: Don't assume all displays are X11 displays
- Date: Sat, 25 Oct 2014 01:15:12 +0000 (UTC)
commit 32326f826ffacd525d62a8a11d66f017a7d8ebe2
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Oct 24 18:38:15 2014 -0400
X11: Don't assume all displays are X11 displays
When iterating over the list of displays gotten from the
display manager, we have to check if what we got is actually
an X11 display.
gdk/x11/gdkdisplay-x11.c | 8 ++++++--
gdk/x11/gdkmain-x11.c | 3 ++-
2 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 064b56f..a964e2a 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -1947,7 +1947,8 @@ gdk_x11_lookup_xdisplay (Display *xdisplay)
for (l = list; l; l = l->next)
{
- if (GDK_DISPLAY_XDISPLAY (l->data) == xdisplay)
+ if (GDK_IS_X11_DISPLAY (l->data) &&
+ GDK_DISPLAY_XDISPLAY (l->data) == xdisplay)
{
display = l->data;
break;
@@ -2801,7 +2802,10 @@ gdk_x11_set_sm_client_id (const gchar *sm_client_id)
displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
for (l = displays; l; l = l->next)
- set_sm_client_id (l->data, sm_client_id);
+ {
+ if (GDK_IS_X11_DISPLAY (l->data))
+ set_sm_client_id (l->data, sm_client_id);
+ }
g_slist_free (displays);
}
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index 22c7b95..9ab7c24 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -279,7 +279,8 @@ gdk_x_error (Display *xdisplay,
{
GdkX11Display *gdk_display = displays->data;
- if (xdisplay == gdk_display->xdisplay)
+ if (GDK_IS_X11_DISPLAY (gdk_display) &&
+ xdisplay == gdk_display->xdisplay)
{
error_display = GDK_DISPLAY (gdk_display);
g_slist_free (displays);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]