Date: Monday, November 9, 2020 @ 19:45:40 Author: eworm Revision: 399926
upgpkg: xfce4-screensaver 0.1.11-2: fix dbus connection issues Added: xfce4-screensaver/trunk/0001-Catch-gs_listener_dbus_init-failures.patch Modified: xfce4-screensaver/trunk/PKGBUILD -------------------------------------------------+ 0001-Catch-gs_listener_dbus_init-failures.patch | 30 ++++++++++++++++++++++ PKGBUILD | 14 ++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) Added: 0001-Catch-gs_listener_dbus_init-failures.patch =================================================================== --- 0001-Catch-gs_listener_dbus_init-failures.patch (rev 0) +++ 0001-Catch-gs_listener_dbus_init-failures.patch 2020-11-09 19:45:40 UTC (rev 399926) @@ -0,0 +1,30 @@ +From f596f888a2b6e6598b9d0e4f0200b60e7f9eef64 Mon Sep 17 00:00:00 2001 +From: Shawn Anastasio <[email protected]> +Date: Sun, 6 Sep 2020 19:33:12 +0000 +Subject: [PATCH 1/1] Catch gs_listener_dbus_init failures + +In cases where the dbus connection fails, gs_listener_dbus_init +will fail and return FALSE. Previously, this status code was not +checked in the gs_listener constructor, resulting in a silent failure +that eventually resulted in a Segmentation Fault when the listener's +system_connection pointer gets used. + +Add a g_assert to ensure gs_listener_dbus_init succeeds, or bail out +gracefully on failures. +--- + src/gs-listener-dbus.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c +index 6307324..7aebe00 100644 +--- a/src/gs-listener-dbus.c ++++ b/src/gs-listener-dbus.c +@@ -2196,7 +2196,7 @@ gs_listener_init (GSListener *listener) { + #endif + listener->priv->prefs = gs_prefs_new(); + +- gs_listener_dbus_init (listener); ++ g_assert (gs_listener_dbus_init (listener)); + + init_session_id (listener); + Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-11-09 19:25:15 UTC (rev 399925) +++ PKGBUILD 2020-11-09 19:45:40 UTC (rev 399926) @@ -2,7 +2,7 @@ pkgname=xfce4-screensaver pkgver=0.1.11 -pkgrel=1 +pkgrel=2 pkgdesc='Xfce Screensaver' arch=('x86_64') url='https://docs.xfce.org/apps/screensaver/start' @@ -11,9 +11,17 @@ depends=('libxss' 'libxklavier' 'libwnck3' 'garcon' 'dbus-glib' 'python' 'python-gobject') makedepends=('intltool') backup=('etc/pam.d/xfce4-screensaver') -source=("https://archive.xfce.org/src/apps/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2") -sha256sums=('814020da160ac4f9bcd79ae098ca6dd17643144214613dcb687821c8d8deac77') +source=("https://archive.xfce.org/src/apps/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2" + '0001-Catch-gs_listener_dbus_init-failures.patch') +sha256sums=('814020da160ac4f9bcd79ae098ca6dd17643144214613dcb687821c8d8deac77' + '8037d7f257e30a85b0acff2f0697973ed46e17c567f3fdde87b52437eaad6208') +prepare() { + cd "$srcdir/$pkgname-$pkgver" + + patch -Np1 -R < ../0001-Catch-gs_listener_dbus_init-failures.patch +} + build() { cd "$srcdir/$pkgname-$pkgver"
