SHA256
1
0
forked from pool/libcanberra

Accepting request 141104 from GNOME:Next

Fix broadway - based on new patch

OBS-URL: https://build.opensuse.org/request/show/141104
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/libcanberra?expand=0&rev=56
This commit is contained in:
Dominique Leuenberger 2012-11-14 15:52:34 +00:00 committed by Git OBS Bridge
parent 9905106854
commit d6759fd852
3 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,71 @@
From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
From: Michael Meeks <michael.meeks@suse.com>
Date: Fri, 9 Nov 2012 16:16:40 +0000
Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
broadway/wayland
---
src/canberra-gtk-module.c | 15 +++++++++++++++
src/canberra-gtk.c | 5 +++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c
index 67791f0..c1532ab 100644
--- a/src/canberra-gtk-module.c
+++ b/src/canberra-gtk-module.c
@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) {
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) {
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) {
gboolean ret = FALSE;
Atom xembed;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return FALSE;
+#endif
+
/* Gnome Panel applets are XEMBED windows. We need to make sure we
* ignore them */
diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c
index 34446f5..08cb668 100644
--- a/src/canberra-gtk.c
+++ b/src/canberra-gtk.c
@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) {
guchar *data = NULL;
gint ret = -1;
+#ifdef GDK_IS_X11_DISPLAY
+ if (!GDK_IS_X11_DISPLAY(d))
+ return 0;
+#endif
+
if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
--
1.7.7

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Nov 9 18:27:56 UTC 2012 - michael.meeks@suse.com
- Add libcanberra-broadway-fix.patch: Fix crash with
libcanberra-gtk-module's and non-X11 displays (bnc#789066).
-------------------------------------------------------------------
Tue Sep 25 11:52:28 UTC 2012 - dimstar@opensuse.org

View File

@ -30,6 +30,8 @@ Source1: libcanberra-gtk-module.sh
Source99: baselibs.conf
#PATCH-FIX-UPSTREAM libcanberra-multi-backend.patch bnc#753243 fdo#51662 dimstar@opensuse.org -- Set the multi backend as default and allow it actually to work.
Patch0: libcanberra-multi-backend.patch
#PATCH-FIX-UPSTREAM libcanberra-broadway-fix.patch bnc#789066 michael.meeks@suse.com -- mailed to lennart
Patch1: libcanberra-broadway-fix.patch
BuildRequires: gtk-doc
BuildRequires: libltdl-devel
BuildRequires: lynx
@ -184,6 +186,7 @@ This package provides the development files for libcanberra.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%configure --with-pic --disable-static --enable-pulse --enable-alsa --enable-null --with-builtin=dso V=1