aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/gnome-settings-daemon/APKBUILD11
-rw-r--r--testing/gnome-settings-daemon/housekeeping-fix-improper-notify_notification_close_usage.patch30
2 files changed, 37 insertions, 4 deletions
diff --git a/testing/gnome-settings-daemon/APKBUILD b/testing/gnome-settings-daemon/APKBUILD
index 91757ab09e..b56d37262d 100644
--- a/testing/gnome-settings-daemon/APKBUILD
+++ b/testing/gnome-settings-daemon/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=gnome-settings-daemon
pkgver=3.26.0
-pkgrel=1
+pkgrel=2
pkgdesc="GNOME settings daemon"
url="https://www.gnome.org/"
arch="all !s390x"
@@ -15,8 +15,10 @@ depends_dev="gnome-desktop-dev libnotify-dev
makedepends="$depends_dev libxml2-utils"
subpackages="$pkgname-dev $pkgname-lang"
source="https://download.gnome.org/sources/gnome-settings-daemon/${pkgver%.*}/gnome-settings-daemon-$pkgver.tar.xz
-initial-keyboard.patch
-no-wayland-support.patch"
+ initial-keyboard.patch
+ no-wayland-support.patch
+ housekeeping-fix-improper-notify_notification_close_usage.patch
+ "
builddir="$srcdir/gnome-settings-daemon-$pkgver"
build() {
@@ -40,4 +42,5 @@ package() {
sha512sums="4338c097fa6bd148ae6ce4b6b04609ccaa6b896dd65cbecbc3a16fdae186e926860cbebddc1aab21c3c9c7af1b68000f0a69cbc7887c4533aade2a0cfd9780bb gnome-settings-daemon-3.26.0.tar.xz
235986a8fdbaaebfb5a8d351532ea6621c4359bccd34f45f3addbe1b8ec051f6c52487b947a4db881441f8f8f484e5ddb26b4501ae34ee7444c73004526ab0b7 initial-keyboard.patch
-3c4403afdc40ff565d0c53af24aad17038dde93d97b3996c318094bc21dc7576a4f603b4744a42325b154e3e123ff6f04a9f3c2523879f07a64dc8efbd6e912d no-wayland-support.patch"
+3c4403afdc40ff565d0c53af24aad17038dde93d97b3996c318094bc21dc7576a4f603b4744a42325b154e3e123ff6f04a9f3c2523879f07a64dc8efbd6e912d no-wayland-support.patch
+d406ef54e15c919c8cbe18ec8f69716f72d2fd7a7c270ae15c169e6e1392d07650bea9e85a0f919b5e78417a19122ff4329d5f243a245042f10531147ab91367 housekeeping-fix-improper-notify_notification_close_usage.patch"
diff --git a/testing/gnome-settings-daemon/housekeeping-fix-improper-notify_notification_close_usage.patch b/testing/gnome-settings-daemon/housekeeping-fix-improper-notify_notification_close_usage.patch
new file mode 100644
index 0000000000..0bd07fdf8b
--- /dev/null
+++ b/testing/gnome-settings-daemon/housekeeping-fix-improper-notify_notification_close_usage.patch
@@ -0,0 +1,30 @@
+From 3110457f72f70b2d283c1ad2f27b91b95d75d92f Mon Sep 17 00:00:00 2001
+From: Christian Hergert <chergert@redhat.com>
+Date: Wed, 18 Jul 2018 19:31:17 -0700
+Subject: [PATCH] housekeeping: fix improper notify_notification_close() usage
+
+notify_notification_close() expects that a parameter will be available for
+the error location, which could be a dangling pointer in a register or
+on the stack in the case of some architectures.
+
+This was caught by GNOME/glib#1425 which allows us to check proper type
+parameters.
+---
+ plugins/housekeeping/gsd-disk-space.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c
+index 0ae40193aa..0eee94ea9b 100644
+--- a/plugins/housekeeping/gsd-disk-space.c
++++ b/plugins/housekeeping/gsd-disk-space.c
+@@ -1017,7 +1017,9 @@ gsd_ldsm_clean (void)
+ g_clear_object (&ldsm_monitor);
+ g_clear_object (&settings);
+ g_clear_object (&privacy_settings);
+- g_clear_pointer (&notification, notify_notification_close);
++ /* NotifyNotification::closed callback will drop reference */
++ if (notification != NULL)
++ notify_notification_close (notification, NULL);
+ g_slist_free_full (ignore_paths, g_free);
+ ignore_paths = NULL;
+ }