0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
  2. From: Michael Meeks <michael.meeks@suse.com>
  3. Date: Fri, 9 Nov 2012 16:16:40 +0000
  4. Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
  5. broadway/wayland
  6. ---
  7. src/canberra-gtk-module.c | 15 +++++++++++++++
  8. src/canberra-gtk.c | 5 +++++
  9. 2 files changed, 20 insertions(+)
  10. --- a/src/canberra-gtk-module.c
  11. +++ b/src/canberra-gtk-module.c
  12. @@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDispla
  13. guchar *data = NULL;
  14. gint ret = -1;
  15. +#ifdef GDK_IS_X11_DISPLAY
  16. + if (!GDK_IS_X11_DISPLAY(d))
  17. + return 0;
  18. +#endif
  19. +
  20. if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
  21. gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
  22. 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
  23. @@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDispl
  24. guchar *data = NULL;
  25. gint ret = -1;
  26. +#ifdef GDK_IS_X11_DISPLAY
  27. + if (!GDK_IS_X11_DISPLAY(d))
  28. + return 0;
  29. +#endif
  30. +
  31. if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
  32. gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
  33. 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
  34. @@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisp
  35. gboolean ret = FALSE;
  36. Atom xembed;
  37. +#ifdef GDK_IS_X11_DISPLAY
  38. + if (!GDK_IS_X11_DISPLAY(d))
  39. + return FALSE;
  40. +#endif
  41. +
  42. /* Gnome Panel applets are XEMBED windows. We need to make sure we
  43. * ignore them */
  44. --- a/src/canberra-gtk.c
  45. +++ b/src/canberra-gtk.c
  46. @@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDispla
  47. guchar *data = NULL;
  48. gint ret = -1;
  49. +#ifdef GDK_IS_X11_DISPLAY
  50. + if (!GDK_IS_X11_DISPLAY(d))
  51. + return 0;
  52. +#endif
  53. +
  54. if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
  55. gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
  56. 0, G_MAXLONG, False, XA_CARDINAL, &type_return,