Compare commits
13 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29c011d173 | ||
|
|
0df2bfea15 | ||
|
|
1d15da3753 | ||
|
|
4e8fff5d7d | ||
|
|
da7f34cf62 | ||
|
|
086bbc7602 | ||
|
|
b26434df48 | ||
|
|
a02eae378b | ||
|
|
e0a79493cd | ||
|
|
a25d1b6418 | ||
|
|
461f39a003 | ||
|
|
8321a12330 | ||
|
|
6dd04456bf |
2 changed files with 131 additions and 14 deletions
|
|
@ -1,13 +1,14 @@
|
|||
From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
|
||||
From d6dd5cdf45c1aac6c0519c8a4f5f89321770fb53 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
|
||||
|
||||
Co-Authored-By: Bastien Nocera <hadess@hadess.net>
|
||||
---
|
||||
src/canberra-gtk-module.c | 15 +++++++++++++++
|
||||
src/canberra-gtk.c | 5 +++++
|
||||
2 files changed, 20 insertions(+)
|
||||
src/canberra-gtk.c | 28 ++++++++++++++++++++++------
|
||||
2 files changed, 37 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c
|
||||
index 67791f0..c1532ab 100644
|
||||
|
|
@ -50,7 +51,7 @@ index 67791f0..c1532ab 100644
|
|||
* ignore them */
|
||||
|
||||
diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c
|
||||
index 34446f5..08cb668 100644
|
||||
index 34446f5..47285f8 100644
|
||||
--- a/src/canberra-gtk.c
|
||||
+++ b/src/canberra-gtk.c
|
||||
@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) {
|
||||
|
|
@ -65,6 +66,58 @@ index 34446f5..08cb668 100644
|
|||
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,
|
||||
@@ -254,18 +259,28 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) {
|
||||
|
||||
if (gtk_widget_get_realized(GTK_WIDGET(w))) {
|
||||
GdkWindow *dw = NULL;
|
||||
+#ifdef GDK_IS_X11_DISPLAY
|
||||
GdkScreen *screen = NULL;
|
||||
+#endif
|
||||
GdkDisplay *display = NULL;
|
||||
gint x = -1, y = -1, width = -1, height = -1, screen_width = -1, screen_height = -1;
|
||||
|
||||
- if ((dw = gtk_widget_get_window(GTK_WIDGET(w))))
|
||||
- if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long) GDK_WINDOW_XID(dw))) < 0)
|
||||
- return ret;
|
||||
+ if ((dw = gtk_widget_get_window(GTK_WIDGET(w)))) {
|
||||
+#ifdef GDK_IS_X11_DISPLAY
|
||||
+ if (GDK_IS_X11_DISPLAY(display)) {
|
||||
+ if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long) GDK_WINDOW_XID(dw))) < 0)
|
||||
+ return ret;
|
||||
+ }
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if ((display = gtk_widget_get_display(GTK_WIDGET(w)))) {
|
||||
- if ((t = gdk_display_get_name(display)))
|
||||
+#ifdef GDK_IS_X11_DISPLAY
|
||||
+ if (GDK_IS_X11_DISPLAY(display) && (t = gdk_display_get_name(display))) {
|
||||
if ((ret = ca_proplist_sets(p, CA_PROP_WINDOW_X11_DISPLAY, t)) < 0)
|
||||
return ret;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
if (dw) {
|
||||
gint desktop = window_get_desktop(display, dw);
|
||||
@@ -276,7 +291,8 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) {
|
||||
}
|
||||
}
|
||||
|
||||
- if ((screen = gtk_widget_get_screen(GTK_WIDGET(w)))) {
|
||||
+#ifdef GDK_IS_X11_DISPLAY
|
||||
+ if (GDK_IS_X11_DISPLAY(display) && (screen = gtk_widget_get_screen(GTK_WIDGET(w)))) {
|
||||
|
||||
if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_SCREEN, "%i", gdk_screen_get_number(screen))) < 0)
|
||||
return ret;
|
||||
@@ -285,7 +301,7 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) {
|
||||
if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_MONITOR, "%i", gdk_screen_get_monitor_at_window(screen, dw))) < 0)
|
||||
return ret;
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
/* FIXME, this might cause a round trip */
|
||||
|
||||
if (dw) {
|
||||
--
|
||||
1.9.0
|
||||
2.34.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,22 @@
|
|||
# RHEL 10 won't ship with GTK 2, don't build bit there, but build them elsewhere
|
||||
%if 0%{?rhel} > 9
|
||||
%bcond_with gtk2
|
||||
%else
|
||||
%bcond_without gtk2
|
||||
%endif
|
||||
|
||||
Name: libcanberra
|
||||
Version: 0.30
|
||||
Release: 26%{?dist}
|
||||
Release: 38%{?dist}
|
||||
Summary: Portable Sound Event Library
|
||||
Source0: http://0pointer.de/lennart/projects/libcanberra/libcanberra-%{version}.tar.xz
|
||||
Patch0: 0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
|
||||
License: LGPLv2+
|
||||
License: LGPL-2.1-or-later
|
||||
Url: http://git.0pointer.de/?p=libcanberra.git;a=summary
|
||||
BuildRequires: gcc
|
||||
%if %{with gtk2}
|
||||
BuildRequires: gtk2-devel
|
||||
%endif
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: libvorbis-devel
|
||||
|
|
@ -26,6 +35,7 @@ Requires: pulseaudio-libs >= 0.9.15
|
|||
A small and lightweight implementation of the XDG Sound Theme Specification
|
||||
(http://0pointer.de/public/sound-theme-spec.html).
|
||||
|
||||
%if %{with gtk2}
|
||||
%package gtk2
|
||||
Summary: Gtk+ 2.x Bindings for libcanberra
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
|
@ -34,6 +44,7 @@ Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
|
|||
|
||||
%description gtk2
|
||||
Gtk+ 2.x bindings for libcanberra
|
||||
%endif
|
||||
|
||||
%package gtk3
|
||||
Summary: Gtk+ 3.x Bindings for libcanberra
|
||||
|
|
@ -45,9 +56,11 @@ Gtk+ 3.x bindings for libcanberra
|
|||
%package devel
|
||||
Summary: Development Files for libcanberra Client Development
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-gtk2%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
|
||||
%if %{with gtk2}
|
||||
Requires: %{name}-gtk2%{?_isa} = %{version}-%{release}
|
||||
Requires: gtk2-devel
|
||||
%endif
|
||||
|
||||
%description devel
|
||||
Development Files for libcanberra Client Development
|
||||
|
|
@ -60,10 +73,20 @@ Development Files for libcanberra Client Development
|
|||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch -P0 -p1
|
||||
|
||||
%build
|
||||
%configure --disable-static --enable-pulse --enable-alsa --enable-null --disable-oss --with-builtin=dso --with-systemdsystemunitdir=/usr/lib/systemd/system
|
||||
%configure \
|
||||
--disable-static \
|
||||
--enable-pulse \
|
||||
--enable-alsa \
|
||||
%if %{without gtk2}
|
||||
--disable-gtk \
|
||||
%endif
|
||||
--enable-null \
|
||||
--disable-oss \
|
||||
--with-builtin=dso \
|
||||
--with-systemdsystemunitdir=/usr/lib/systemd/system
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
|
|
@ -86,9 +109,11 @@ rm $RPM_BUILD_ROOT%{_docdir}/libcanberra/README
|
|||
%{_prefix}/lib/systemd/system/canberra-system-shutdown.service
|
||||
%{_bindir}/canberra-boot
|
||||
|
||||
%if %{with gtk2}
|
||||
%files gtk2
|
||||
%{_libdir}/libcanberra-gtk.so.*
|
||||
%{_libdir}/gtk-2.0/modules/libcanberra-gtk-module.so
|
||||
%endif
|
||||
|
||||
%files gtk3
|
||||
%{_libdir}/libcanberra-gtk3.so.*
|
||||
|
|
@ -111,12 +136,14 @@ rm $RPM_BUILD_ROOT%{_docdir}/libcanberra/README
|
|||
%doc %{_datadir}/gtk-doc
|
||||
%{_includedir}/canberra-gtk.h
|
||||
%{_includedir}/canberra.h
|
||||
%{_libdir}/libcanberra-gtk.so
|
||||
%{_libdir}/libcanberra-gtk3.so
|
||||
%{_libdir}/libcanberra.so
|
||||
%{_libdir}/pkgconfig/libcanberra-gtk.pc
|
||||
%{_libdir}/pkgconfig/libcanberra-gtk3.pc
|
||||
%{_libdir}/pkgconfig/libcanberra.pc
|
||||
%if %{with gtk2}
|
||||
%{_libdir}/libcanberra-gtk.so
|
||||
%{_libdir}/pkgconfig/libcanberra-gtk.pc
|
||||
%endif
|
||||
%{_libdir}/libcanberra-gtk3.so
|
||||
%{_libdir}/pkgconfig/libcanberra-gtk3.pc
|
||||
# co-own these directories to avoid requiring vala
|
||||
%dir %{_datadir}/vala
|
||||
%dir %{_datadir}/vala/vapi
|
||||
|
|
@ -124,6 +151,43 @@ rm $RPM_BUILD_ROOT%{_docdir}/libcanberra/README
|
|||
%{_datadir}/vala/vapi/libcanberra.vapi
|
||||
|
||||
%changelog
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-38
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-37
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-36
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-35
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-34
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Oct 13 2023 Niels De Graef <ndegraef@redhat.com> - 0.30-33
|
||||
- Migrate to SPDX license
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-32
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-31
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Tue Jan 10 2023 Tomas Popela <tpopela@redhat.com> - 0.30-30
|
||||
- Don't build GTK 2 bits on ELN/RHEL 10 as GTK 2 won't be there
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sun Feb 06 2022 Bastien Nocera <bnocera@redhat.com> - 0.30-28
|
||||
+ libcanberra-0.30-27
|
||||
- Update X11 avoidance patch
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.30-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Oct 01 2021 Kalev Lember <klember@redhat.com> - 0.30-26
|
||||
- Avoid requiring systemd as per updated packaging guidelines
|
||||
- Drop ldconfig scriptlets
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue