diff options
Diffstat (limited to 'source/xfce/xfwm4')
-rw-r--r-- | source/xfce/xfwm4/0001-compositor-Ignore-XError-when-changing-background-pi.patch | 36 | ||||
-rwxr-xr-x | source/xfce/xfwm4/xfwm4.SlackBuild | 3 | ||||
-rw-r--r-- | source/xfce/xfwm4/xinitrc.xfce | 9 |
3 files changed, 40 insertions, 8 deletions
diff --git a/source/xfce/xfwm4/0001-compositor-Ignore-XError-when-changing-background-pi.patch b/source/xfce/xfwm4/0001-compositor-Ignore-XError-when-changing-background-pi.patch new file mode 100644 index 00000000..200432b3 --- /dev/null +++ b/source/xfce/xfwm4/0001-compositor-Ignore-XError-when-changing-background-pi.patch @@ -0,0 +1,36 @@ +From 56d273ee48fffc7fed67ec7b22afd8e4b1c23c6e Mon Sep 17 00:00:00 2001 +From: Olivier Fourdan <fourdan@xfce.org> +Date: Fri, 25 Dec 2020 18:39:52 +0100 +Subject: [PATCH] compositor: Ignore XError when changing background picture + +If xfwm4 is compiled with support for the root pixmap in the compositor, +changing the background image may cause an XError if the external pixmap +is already freed. + +Guard against such XError. + +Signed-off-by: Olivier Fourdan <fourdan@xfce.org> +Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/476 +--- + src/compositor.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/compositor.c b/src/compositor.c +index 9c5ceb454..8ff0dad42 100644 +--- a/src/compositor.c ++++ b/src/compositor.c +@@ -3774,8 +3774,11 @@ compositorHandlePropertyNotify (DisplayInfo *display_info, XPropertyEvent *ev) + ScreenInfo *screen_info = myDisplayGetScreenFromRoot (display_info, ev->window); + if ((screen_info) && (screen_info->compositor_active) && (screen_info->rootTile)) + { ++ myDisplayErrorTrapPush (display_info); + XClearArea (display_info->dpy, screen_info->output, 0, 0, 0, 0, TRUE); + XRenderFreePicture (display_info->dpy, screen_info->rootTile); ++ myDisplayErrorTrapPopIgnored (display_info); ++ + screen_info->rootTile = None; + damage_screen (screen_info); + +-- +2.29.2 + diff --git a/source/xfce/xfwm4/xfwm4.SlackBuild b/source/xfce/xfwm4/xfwm4.SlackBuild index bb5fd18f..6a5b3b67 100755 --- a/source/xfce/xfwm4/xfwm4.SlackBuild +++ b/source/xfce/xfwm4/xfwm4.SlackBuild @@ -80,6 +80,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +# Fix Issue 476 +zcat $CWD/0001-compositor-Ignore-XError-when-changing-background-pi.patch.gz | patch -p1 --verbose || exit 1 + # Configure: CFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xfce/xfwm4/xinitrc.xfce b/source/xfce/xfwm4/xinitrc.xfce index 82c0dd40..4665547a 100644 --- a/source/xfce/xfwm4/xinitrc.xfce +++ b/source/xfce/xfwm4/xinitrc.xfce @@ -1,7 +1,4 @@ #!/bin/sh -# xinitrc.xfce - modified to work around xfce4session bug -# https://bugzilla.xfce.org/show_bug.cgi?id=8841 - ######################################################################## ## Merge in defaults and keymaps ## @@ -32,9 +29,5 @@ fi ## Start xfce Desktop Environment ## ######################################################################## -if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then - exec ck-launch-session dbus-launch --exit-with-session /usr/bin/startxfce4 -else - exec dbus-launch --exit-with-session /usr/bin/startxfce4 -fi +exec /usr/bin/startxfce4 |