1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-25 09:34:11 +00:00
freebsd-ports/x11/libxfce4menu/Makefile
Conrad Meyer 6a23bfc35e x11/libxfce4menu: Fix leaked keygrabs when layout changes
As diagnosed by Jethro Nederhof, xfce-shortcuts-grabber.c attempts to update
grabbed key shortcuts when xkeyboard layout changes. Unfortunately, it had no
memory of which keycodes it has actually grabbed. Instead, it attempted to
ungrab the *new* keycode, which obviously doesn't actually ungrab those codes.

This went unnoticed for some time, probably because nothing collided with
important keys. Recently, a default PrintScreen shortcut was added to Xfce,
which for whatever reason seems to collide with Up in initial layout. When the
kbd layout changes, the shortcut ungrabs the *new* Printscreen keycode and then
re-grabs the same keycode, leaving the Up keycode grabbed.

Fix this by giving xfce-shortcuts-grabber some memory of which keycodes it has
grabbed. When it grabs a key, it remembers the keycode it grabbed in the
XfceKey object. When it ungrabs a key, it ungrabs the keycodes in the XfceKey
object, rather than those for the new keyboard layout.

PR:		244290
Reported by:	Aryeh Friedman <aryeh.friedman AT gmail.com>, many others
Approved by:	madpilot
Differential Revision:	https://reviews.freebsd.org/D24338
2020-04-12 20:23:56 +00:00

63 lines
1.5 KiB
Makefile

# Created by: Oliver Lehmann <oliver@FreeBSD.org>
# $FreeBSD$
PORTNAME= libxfce4menu
PORTVERSION= 4.14.1
PORTREVISION= 1
CATEGORIES= x11 xfce
MASTER_SITES= XFCE
DISTNAME= libxfce4ui-${DISTVERSIONFULL}
DIST_SUBDIR= xfce4
MAINTAINER= xfce@FreeBSD.org
COMMENT= Widgets library for the Xfce desktop environment
LICENSE= GPLv2
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
USES= compiler:c11 gettext-tools gmake gnome libtool pathfix \
pkgconfig tar:bzip2 xfce xorg
USE_GNOME= cairo glib20 gtk30 intltool
USE_LDCONFIG= yes
USE_XFCE= xfconf
USE_XORG= ice sm x11
GNU_CONFIGURE= yes
INSTALLS_ICONS= yes
CONFIGURE_ARGS= --with-vendor-info=${OPSYS} --without-html-dir
INSTALL_TARGET= install-strip
PORTSCOUT= limitw:1,even
OPTIONS_DEFINE= GIR GLADE GTK2 NLS STARTUP VAPI
OPTIONS_DEFAULT= GIR GTK2 STARTUP VAPI
OPTIONS_SUB= yes
GIR_DESC= Use Gobject Introspection
GIR_USE= gnome=introspection:build
GIR_CONFIGURE_ON= --enable-introspection=yes
GIR_CONFIGURE_OFF= --enable-introspection=no
GLADE_CONFIGURE_ENABLE= gladeui2
GLADE_LIB_DEPENDS= libgladeui-2.so:devel/glade
GLADE_USE= gnome=libxml2
GTK2_CONFIGURE_ENABLE= gtk2
GTK2_USE= gnome=gtk20
NLS_CONFIGURE_ENABLE= nls
NLS_USES= gettext-runtime
STARTUP_CONFIGURE_ENABLE= startup-notification
STARTUP_DESC= Startup notification
STARTUP_LIB_DEPENDS= libstartup-notification-1.so:x11/startup-notification
VAPI_BUILD_DEPENDS= vapigen:lang/vala
VAPI_CONFIGURE_ENABLE= vala
VAPI_IMPLIES= GIR
.include <bsd.port.mk>