diff --git a/x11-wm/xfce4-wm/Makefile b/x11-wm/xfce4-wm/Makefile index dcbb0d370cfd..e61018553c3d 100644 --- a/x11-wm/xfce4-wm/Makefile +++ b/x11-wm/xfce4-wm/Makefile @@ -1,51 +1,52 @@ # Created by: James Earl PORTNAME= xfce4-wm PORTVERSION= 4.16.1 +PORTREVISION= 1 CATEGORIES= x11-wm xfce MASTER_SITES= XFCE DISTNAME= xfwm4-${DISTVERSIONFULL} DIST_SUBDIR= xfce4 MAINTAINER= xfce@FreeBSD.org COMMENT= Xfce's window manager LICENSE= GPLv2 LIB_DEPENDS= libepoxy.so:graphics/libepoxy USES= compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 \ xfce xorg USE_GNOME= cairo gtk30 intltool libwnck3 USE_XFCE= libmenu xfconf USE_XORG= ice sm x11 xcomposite xdamage xext xfixes xi xinerama \ xorgproto xpresent xrandr xrender xres CONFIGURE_ARGS= --enable-xsync \ --enable-render \ --enable-randr \ --enable-compositor \ --enable-xpresent \ --disable-kde-systray GNU_CONFIGURE= yes DATADIR= ${PREFIX}/share/xfwm4 PORTSCOUT= limitw:1,even OPTIONS_DEFINE= NLS STARTUP OPTIONS_DEFAULT= STARTUP OPTIONS_SUB= yes STARTUP_DESC= Startup notification NLS_CONFIGURE_ENABLE= nls NLS_USES= gettext-runtime STARTUP_CONFIGURE_ENABLE= startup-notification STARTUP_LIB_DEPENDS= libstartup-notification-1.so:x11/startup-notification post-patch: @${REINPLACE_CMD} -e 's|Default|Greybird|' \ ${WRKSRC}/settings-dialogs/xfwm4-settings.c .include diff --git a/x11-wm/xfce4-wm/files/patch-src_icons.c b/x11-wm/xfce4-wm/files/patch-src_icons.c new file mode 100644 index 000000000000..564d90fd25fd --- /dev/null +++ b/x11-wm/xfce4-wm/files/patch-src_icons.c @@ -0,0 +1,46 @@ +--- src/icons.c.orig 2021-01-05 08:18:20 UTC ++++ src/icons.c +@@ -295,16 +295,26 @@ static void + } + + static void +-get_pixmap_geometry (Display *dpy, Pixmap pixmap, guint *out_width, guint *out_height, guint *out_depth) ++get_pixmap_geometry (ScreenInfo *screen_info, Pixmap pixmap, guint *out_width, guint *out_height, guint *out_depth) + { + Window root; + guint border_width; + gint x, y; + guint width, height; + guint depth; ++ Status rc; ++ int result; + +- XGetGeometry (dpy, pixmap, &root, &x, &y, &width, &height, &border_width, &depth); ++ myDisplayErrorTrapPush (screen_info->display_info); ++ rc = XGetGeometry (myScreenGetXDisplay(screen_info), pixmap, &root, ++ &x, &y, &width, &height, &border_width, &depth); ++ result = myDisplayErrorTrapPop (screen_info->display_info); + ++ if ((rc != Success) || (result != Success)) ++ { ++ return; ++ } ++ + if (out_width != NULL) + { + *out_width = width; +@@ -371,12 +381,12 @@ try_pixmap_and_mask (ScreenInfo *screen_info, Pixmap s + return NULL; + } + +- get_pixmap_geometry (myScreenGetXDisplay(screen_info), src_pixmap, &w, &h, &depth); ++ get_pixmap_geometry (screen_info, src_pixmap, &w, &h, &depth); + surface = get_surface_from_pixmap (screen_info, src_pixmap, w, h, depth); + + if (surface && src_mask != None) + { +- get_pixmap_geometry (myScreenGetXDisplay(screen_info), src_mask, &w, &h, &depth); ++ get_pixmap_geometry (screen_info, src_mask, &w, &h, &depth); + mask_surface = get_surface_from_pixmap (screen_info, src_mask, w, h, depth); + } + else