Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Nov 2020 15:43:54 +0000 (UTC)
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r556577 - in head/x11-wm/xfce4-wm: . files
Message-ID:  <202011291543.0ATFhsTg035621@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: madpilot
Date: Sun Nov 29 15:43:53 2020
New Revision: 556577
URL: https://svnweb.freebsd.org/changeset/ports/556577

Log:
  Import xfce4-wm upstream patches which fix crashes at runtime.
  
  Obtained from:	https://gitlab.xfce.org/xfce/xfwm4/-/issues/460
  MFH:		2020Q4

Added:
  head/x11-wm/xfce4-wm/files/patch-XFixes-XError   (contents, props changed)
  head/x11-wm/xfce4-wm/files/patch-Xsync-XError   (contents, props changed)
Modified:
  head/x11-wm/xfce4-wm/Makefile

Modified: head/x11-wm/xfce4-wm/Makefile
==============================================================================
--- head/x11-wm/xfce4-wm/Makefile	Sun Nov 29 15:40:52 2020	(r556576)
+++ head/x11-wm/xfce4-wm/Makefile	Sun Nov 29 15:43:53 2020	(r556577)
@@ -3,7 +3,7 @@
 
 PORTNAME=	xfce4-wm
 PORTVERSION=	4.14.6
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	x11-wm xfce
 MASTER_SITES=	XFCE
 DISTNAME=	xfwm4-${DISTVERSIONFULL}

Added: head/x11-wm/xfce4-wm/files/patch-XFixes-XError
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-wm/xfce4-wm/files/patch-XFixes-XError	Sun Nov 29 15:43:53 2020	(r556577)
@@ -0,0 +1,44 @@
+From c255a406bd353a24a9143b152f91e5eb39f69f1f Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <fourdan@xfce.org>
+Date: Sat, 28 Nov 2020 21:16:20 +0100
+Subject: [PATCH] compositor: Handle XFixes XError
+
+XFixesSetPictureClipRegion() with the region from the client window can
+cause a RenderBadPicture error.
+
+Make sure to include it within the XError trap.
+
+Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
+https://gitlab.xfce.org/xfce/xfwm4/-/issues/460
+---
+ src/compositor.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/compositor.c b/src/compositor.c
+index 5110f29c2..25baaabe5 100644
+--- src/compositor.c
++++ src/compositor.c
+@@ -781,15 +781,16 @@ border_size (CWindow *cw)
+     myDisplayErrorTrapPush (display_info);
+     border = XFixesCreateRegionFromWindow (display_info->dpy,
+                                            cw->id, WindowRegionBounding);
+-    if ((myDisplayErrorTrapPop (display_info) != Success) || (border == None))
+-    {
+-        return None;
+-    }
+     XFixesSetPictureClipRegion (display_info->dpy, cw->picture, 0, 0, border);
+     XFixesTranslateRegion (display_info->dpy, border,
+                            cw->attr.x + cw->attr.border_width,
+                            cw->attr.y + cw->attr.border_width);
+ 
++    if (myDisplayErrorTrapPop (display_info) != Success)
++    {
++        return None;
++    }
++
+     return border;
+ }
+ 
+-- 
+GitLab
+

Added: head/x11-wm/xfce4-wm/files/patch-Xsync-XError
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-wm/xfce4-wm/files/patch-Xsync-XError	Sun Nov 29 15:43:53 2020	(r556577)
@@ -0,0 +1,30 @@
+From 6b3c1ef155a01b61443b832b1922b560ef42ce24 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <fourdan@xfce.org>
+Date: Sat, 21 Nov 2020 14:05:04 +0100
+Subject: [PATCH] xsync: Handle XError
+
+XSync can fail, handle the XError gracefully.
+
+Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
+Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/448
+---
+ src/xsync.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/xsync.c b/src/xsync.c
+index 920dfdc17..e1c379f9d 100644
+--- src/xsync.c
++++ src/xsync.c
+@@ -113,7 +113,9 @@ clientDestroyXSyncAlarm (Client *c)
+         screen_info = c->screen_info;
+         display_info = screen_info->display_info;
+ 
++        myDisplayErrorTrapPush (display_info);
+         XSyncDestroyAlarm (display_info->dpy, c->xsync_alarm);
++        myDisplayErrorTrapPopIgnored (display_info);
+         c->xsync_alarm = None;
+     }
+ }
+-- 
+GitLab
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011291543.0ATFhsTg035621>