Update x11/xfce4/xfce4-settings to 4.16.3. ok landry@

This release includes the patch for the bug triggered by libX11 1.8.1
This commit is contained in:
matthieu 2022-07-15 09:19:19 +00:00
parent d9920b9b40
commit ea0bcbc391
3 changed files with 3 additions and 61 deletions

View File

@ -1,8 +1,7 @@
COMMENT= Xfce4 settings helpers
XFCE_PROJECT= xfce4-settings
XFCE_VERSION= 4.16.2
REVISION= 3
XFCE_VERSION= 4.16.3
# GPLv2
PERMIT_PACKAGE= Yes

View File

@ -1,2 +1,2 @@
SHA256 (xfce4/xfce4-settings-4.16.2.tar.bz2) = TdfLQghgU15of2c8C1wCdODS+2cYEoHUuFvpGX2gPX4=
SIZE (xfce4/xfce4-settings-4.16.2.tar.bz2) = 1500270
SHA256 (xfce4/xfce4-settings-4.16.3.tar.bz2) = 8pnm0m2OFCwLft65uJF9a9ULyGRyVOpYUGnGjyurjmQ=
SIZE (xfce4/xfce4-settings-4.16.3.tar.bz2) = 1462300

View File

@ -1,57 +0,0 @@
Fix recursive lock in libX11
Index: xfsettingsd/xsettings.c
--- xfsettingsd/xsettings.c.orig
+++ xfsettingsd/xsettings.c
@@ -144,6 +144,12 @@ struct _XfceXSettingsScreen
gint screen_num;
};
+struct _XfceTimestamp
+{
+ Window window;
+ Atom atom;
+};
+
G_DEFINE_TYPE (XfceXSettingsHelper, xfce_xsettings_helper, G_TYPE_OBJECT);
@@ -1033,11 +1039,11 @@ xfce_xsettings_helper_timestamp_predicate (Display *x
XEvent *xevent,
XPointer arg)
{
- Window window = GPOINTER_TO_UINT (arg);
+ struct _XfceTimestamp *ts = (struct _XfceTimestamp *)arg;
return (xevent->type == PropertyNotify
- && xevent->xproperty.window == window
- && xevent->xproperty.atom == XInternAtom (xdisplay, "_TIMESTAMP_PROP", False));
+ && xevent->xproperty.window == ts->window
+ && xevent->xproperty.atom == ts->atom);
}
@@ -1046,17 +1052,18 @@ Time
xfce_xsettings_get_server_time (Display *xdisplay,
Window window)
{
- Atom timestamp_atom;
+ struct _XfceTimestamp *ts = g_malloc(sizeof(struct _XfceTimestamp));
guchar c = 'a';
XEvent xevent;
/* get the current xserver timestamp */
- timestamp_atom = XInternAtom (xdisplay, "_TIMESTAMP_PROP", False);
- XChangeProperty (xdisplay, window, timestamp_atom, timestamp_atom,
+ ts->atom = XInternAtom (xdisplay, "_TIMESTAMP_PROP", False);
+ ts->window = window;
+ XChangeProperty (xdisplay, window, ts->atom, ts->atom,
8, PropModeReplace, &c, 1);
XIfEvent (xdisplay, &xevent, xfce_xsettings_helper_timestamp_predicate,
- GUINT_TO_POINTER (window));
-
+ (XPointer)ts);
+ g_free(ts);
return xevent.xproperty.time;
}