diff options
| author | Guido Falsi <madpilot@FreeBSD.org> | 2020-11-15 12:25:30 +0000 | 
|---|---|---|
| committer | Guido Falsi <madpilot@FreeBSD.org> | 2020-11-15 12:25:30 +0000 | 
| commit | 0207d2cc2eba4a3f90ddd0334f0a2bd64395a81c (patch) | |
| tree | 164147b58782b53be462f36eb643d12a56bfdbcb | |
| parent | Mark these ports broken on aarch64 (diff) | |
Import upstream patch to avoid crash due to unhandled XError in
XKillClient()
PR:		251136
Submitted by:	rozhuk.im@gmail.com
Obtained from:	https://gitlab.xfce.org/xfce/xfwm4/-/commit/e2fbfac304beace0297d071f7de0aceba4f0016a
MFH:		2020Q4
Notes
Notes:
    svn path=/head/; revision=555201
| -rw-r--r-- | x11-wm/xfce4-wm/Makefile | 1 | ||||
| -rw-r--r-- | x11-wm/xfce4-wm/files/patch-XKillClient-XError | 24 | 
2 files changed, 25 insertions, 0 deletions
| diff --git a/x11-wm/xfce4-wm/Makefile b/x11-wm/xfce4-wm/Makefile index baa7bc4dfbcd..abe9dde88021 100644 --- a/x11-wm/xfce4-wm/Makefile +++ b/x11-wm/xfce4-wm/Makefile @@ -3,6 +3,7 @@  PORTNAME=	xfce4-wm  PORTVERSION=	4.14.6 +PORTREVISION=	1  CATEGORIES=	x11-wm xfce  MASTER_SITES=	XFCE  DISTNAME=	xfwm4-${DISTVERSIONFULL} diff --git a/x11-wm/xfce4-wm/files/patch-XKillClient-XError b/x11-wm/xfce4-wm/files/patch-XKillClient-XError new file mode 100644 index 000000000000..2316463c484f --- /dev/null +++ b/x11-wm/xfce4-wm/files/patch-XKillClient-XError @@ -0,0 +1,24 @@ +diff --git a/src/client.c b/src/client.c +index c90c7ada710b482a847e80a1e835adf54fe97f34..13acc44f75455b1c9de70255a73cf4457dfb7531 100644 +--- src/client.c ++++ src/client.c +@@ -2705,10 +2705,18 @@ clientClose (Client *c) + void + clientKill (Client *c) + { ++    ScreenInfo *screen_info; ++    DisplayInfo *display_info; ++ +     g_return_if_fail (c != NULL); +     TRACE ("client \"%s\" (0x%lx)", c->name, c->window); +  +-    XKillClient (clientGetXDisplay (c), c->window); ++    screen_info = c->screen_info; ++    display_info = screen_info->display_info; ++ ++    myDisplayErrorTrapPush (display_info); ++    XKillClient (display_info->dpy, c->window); ++    myDisplayErrorTrapPopIgnored (display_info); + } +  + void | 
