diff --git a/U_0001-xlibi18n-restore-parse_line1-for-WIN32-builds.patch b/U_0001-xlibi18n-restore-parse_line1-for-WIN32-builds.patch deleted file mode 100644 index db60378..0000000 --- a/U_0001-xlibi18n-restore-parse_line1-for-WIN32-builds.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 9afd55ada5d7a3c1d3ed23ff8451629a1d989a7f Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith -Date: Mon, 25 Mar 2024 11:51:03 -0700 -Subject: [PATCH 1/3] xlibi18n: restore parse_line1 for WIN32 builds - -Accidentally removed by __UNIXOS2__ cleanup -Closes: #204 -Fixes: 225a4bbb ("unifdef __UNIXOS2__") - -Signed-off-by: Alan Coopersmith ---- - src/xlibi18n/lcFile.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/src/xlibi18n/lcFile.c b/src/xlibi18n/lcFile.c -index 4e2b3212..b6cf93f2 100644 ---- a/src/xlibi18n/lcFile.c -+++ b/src/xlibi18n/lcFile.c -@@ -88,6 +88,40 @@ parse_line( - return argc; - } - -+#ifdef WIN32 -+/* this is parse_line but skips drive letters at the beginning of the entry */ -+static int -+parse_line1( -+ char *line, -+ char **argv, -+ int argsize) -+{ -+ int argc = 0; -+ char *p = line; -+ -+ while (argc < argsize) { -+ while (isspace(*p)) { -+ ++p; -+ } -+ if (*p == '\0') { -+ break; -+ } -+ argv[argc++] = p; -+ if (isalpha(*p) && p[1] == ':') { -+ p+= 2; /* skip drive letters */ -+ } -+ while (*p != ':' && *p != '\n' && *p != '\0') { -+ ++p; -+ } -+ if (*p == '\0') { -+ break; -+ } -+ *p++ = '\0'; -+ } -+ -+ return argc; -+} -+#endif /* WIN32 */ - - /* Splits a colon separated list of directories, and returns the constituent - paths (without trailing slash). At most argsize constituents are stored --- -2.35.3 - diff --git a/U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch b/U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch deleted file mode 100644 index 580a004..0000000 --- a/U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 3ea9f4f769fecbbc8c5210c5833ad83ab8d9e97e Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Fri, 5 Apr 2024 13:14:33 +1000 -Subject: [PATCH 2/3] Revert "imDefLkup: Commit first info in XimCommitInfo" - -This commit causes a regression, see #205, #206, #207, #208. - -This reverts commit 041b5291f0956c5cda5054be2981c0d02b009a4c. ---- - modules/im/ximcp/imDefLkup.c | 60 +++++++----------------------------- - 1 file changed, 11 insertions(+), 49 deletions(-) - -diff --git a/modules/im/ximcp/imDefLkup.c b/modules/im/ximcp/imDefLkup.c -index 6ffe6f48..5192e8c1 100644 ---- a/modules/im/ximcp/imDefLkup.c -+++ b/modules/im/ximcp/imDefLkup.c -@@ -640,47 +640,22 @@ _XimRegCommitInfo( - } - - static void --_XimUnregRealCommitInfo( -- Xic ic, -- Bool reverse) -+_XimUnregCommitInfo( -+ Xic ic) - { - XimCommitInfo info; -- XimCommitInfo prev_info = NULL; - -- info = ic->private.proto.commit_info; -- while (reverse && info) { -- if (!info->next) -- break; -- prev_info = info; -- info = info->next; -- } -- if (!info) -+ if (!(info = ic->private.proto.commit_info)) - return; - -+ - Xfree(info->string); - Xfree(info->keysym); -- if (prev_info) -- prev_info->next = info->next; -- else -- ic->private.proto.commit_info = info->next; -+ ic->private.proto.commit_info = info->next; - Xfree(info); - return; - } - --static void --_XimUnregCommitInfo( -- Xic ic) --{ -- _XimUnregRealCommitInfo(ic, False); --} -- --static void --_XimUnregFirstCommitInfo( -- Xic ic) --{ -- _XimUnregRealCommitInfo(ic, True); --} -- - void - _XimFreeCommitInfo( - Xic ic) -@@ -690,19 +665,6 @@ _XimFreeCommitInfo( - return; - } - --static XimCommitInfo --_XimFirstCommitInfo( -- Xic ic) --{ -- XimCommitInfo info = ic->private.proto.commit_info; -- while (info) { -- if (!info->next) -- break; -- info = info->next; -- } -- return info; --} -- - static Bool - _XimProcKeySym( - Xic ic, -@@ -1097,7 +1059,7 @@ _XimProtoMbLookupString( - state = &tmp_state; - - if ((ev->type == KeyPress) && (ev->keycode == 0)) { /* Filter function */ -- if (!(info = _XimFirstCommitInfo(ic))) { -+ if (!(info = ic->private.proto.commit_info)) { - *state = XLookupNone; - return 0; - } -@@ -1113,7 +1075,7 @@ _XimProtoMbLookupString( - else - *state = XLookupKeySym; - } -- _XimUnregFirstCommitInfo(ic); -+ _XimUnregCommitInfo(ic); - - } else if (ev->type == KeyPress) { - ret = _XimLookupMBText(ic, ev, buffer, bytes, keysym, NULL); -@@ -1160,7 +1122,7 @@ _XimProtoWcLookupString( - state = &tmp_state; - - if (ev->type == KeyPress && ev->keycode == 0) { /* Filter function */ -- if (!(info = _XimFirstCommitInfo(ic))) { -+ if (!(info = ic->private.proto.commit_info)) { - *state = XLookupNone; - return 0; - } -@@ -1176,7 +1138,7 @@ _XimProtoWcLookupString( - else - *state = XLookupKeySym; - } -- _XimUnregFirstCommitInfo(ic); -+ _XimUnregCommitInfo(ic); - - } else if (ev->type == KeyPress) { - ret = _XimLookupWCText(ic, ev, buffer, bytes, keysym, NULL); -@@ -1223,7 +1185,7 @@ _XimProtoUtf8LookupString( - state = &tmp_state; - - if (ev->type == KeyPress && ev->keycode == 0) { /* Filter function */ -- if (!(info = _XimFirstCommitInfo(ic))) { -+ if (!(info = ic->private.proto.commit_info)) { - *state = XLookupNone; - return 0; - } -@@ -1239,7 +1201,7 @@ _XimProtoUtf8LookupString( - else - *state = XLookupKeySym; - } -- _XimUnregFirstCommitInfo(ic); -+ _XimUnregCommitInfo(ic); - - } else if (ev->type == KeyPress) { - ret = _XimLookupUTF8Text(ic, ev, buffer, bytes, keysym, NULL); --- -2.35.3 - diff --git a/U_0003-Revert-ximcp-Unmark-to-fabricate-key-events-with-XKe.patch b/U_0003-Revert-ximcp-Unmark-to-fabricate-key-events-with-XKe.patch deleted file mode 100644 index 32e17ae..0000000 --- a/U_0003-Revert-ximcp-Unmark-to-fabricate-key-events-with-XKe.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 52a191ee096e93cf711f77b6a56c508b68afc0b6 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Fri, 5 Apr 2024 13:15:32 +1000 -Subject: [PATCH 3/3] Revert "ximcp: Unmark to fabricate key events with - XKeyEvent serial" - -This commit causes a regression, see #205, #206, #207, #208. - -This reverts commit 024d229fdf88a7755577b01b46af6ef908d599e0. ---- - modules/im/ximcp/imDefFlt.c | 8 ++--- - modules/im/ximcp/imDefIm.c | 1 - - modules/im/ximcp/imDefLkup.c | 58 ++++-------------------------------- - src/xlibi18n/XimintP.h | 17 ----------- - 4 files changed, 9 insertions(+), 75 deletions(-) - -diff --git a/modules/im/ximcp/imDefFlt.c b/modules/im/ximcp/imDefFlt.c -index 834b9db4..44cc6884 100644 ---- a/modules/im/ximcp/imDefFlt.c -+++ b/modules/im/ximcp/imDefFlt.c -@@ -142,9 +142,9 @@ _XimProtoKeypressFilter( - { - Xim im = (Xim)ic->core.im; - -- if (_XimIsFabricatedSerial(im, ev->serial)) { -+ if (IS_FABRICATED(im)) { - _XimPendingFilter(ic); -- _XimUnfabricateSerial(im, ev->serial); -+ UNMARK_FABRICATED(im); - return NOTFILTERD; - } - -@@ -203,9 +203,9 @@ _XimProtoKeyreleaseFilter( - { - Xim im = (Xim)ic->core.im; - -- if (_XimIsFabricatedSerial(im, ev->serial)) { -+ if (IS_FABRICATED(im)) { - _XimPendingFilter(ic); -- _XimUnfabricateSerial(im, ev->serial); -+ UNMARK_FABRICATED(im); - return NOTFILTERD; - } - -diff --git a/modules/im/ximcp/imDefIm.c b/modules/im/ximcp/imDefIm.c -index ac7f1195..fe4d18ba 100644 ---- a/modules/im/ximcp/imDefIm.c -+++ b/modules/im/ximcp/imDefIm.c -@@ -430,7 +430,6 @@ _XimPreConnect( - return False; - - im->private.proto.im_window = im_window; -- im->private.proto.fabricated_serial = 0; - return True; - } - -diff --git a/modules/im/ximcp/imDefLkup.c b/modules/im/ximcp/imDefLkup.c -index 5192e8c1..dd1adf53 100644 ---- a/modules/im/ximcp/imDefLkup.c -+++ b/modules/im/ximcp/imDefLkup.c -@@ -341,54 +341,6 @@ _XimForwardEvent( - return _XimForwardEventCore(ic, ev, sync); - } - --Bool --_XimFabricateSerial( -- Xim im, -- unsigned long serial) --{ -- if (!serial) -- return False; -- if (serial == im->private.proto.fabricated_serial) { -- fprintf(stderr, "%s,%d: The key event is already fabricated.\n", __FILE__, __LINE__); -- return False; -- } -- if (im->private.proto.fabricated_serial) -- fprintf(stderr, "%s,%d: Tried to fabricate a wrong key event.\n", __FILE__, __LINE__); -- -- MARK_FABRICATED(im); -- im->private.proto.fabricated_serial = serial; -- return True; --} -- --Bool --_XimUnfabricateSerial( -- Xim im, -- unsigned long serial) --{ -- if (!serial) -- return False; -- if (!im->private.proto.fabricated_serial) { -- fprintf(stderr, "%s,%d: The key event is already unfabricated.\n", __FILE__, __LINE__); -- return False; -- } -- if (serial != im->private.proto.fabricated_serial) -- fprintf(stderr, "%s,%d: Tried to unfabricate a wrong key event.\n", __FILE__, __LINE__); -- -- im->private.proto.fabricated_serial = 0; -- UNMARK_FABRICATED(im); -- return True; --} -- --Bool --_XimIsFabricatedSerial( -- Xim im, -- unsigned long serial) --{ -- if (!serial) -- return False; -- return (serial == im->private.proto.fabricated_serial); --} -- - static void - _XimProcEvent( - Display *d, -@@ -403,7 +355,7 @@ _XimProcEvent( - ev->xany.serial |= serial << 16; - ev->xany.send_event = False; - ev->xany.display = d; -- _XimFabricateSerial((Xim)ic->core.im, ev->xany.serial); -+ MARK_FABRICATED(ic->core.im); - return; - } - -@@ -752,6 +704,10 @@ _XimCommitRecv( - - (void)_XimRespSyncReply(ic, flag); - -+ if (ic->private.proto.registed_filter_event -+ & (KEYPRESS_MASK | KEYRELEASE_MASK)) -+ MARK_FABRICATED(im); -+ - bzero(&ev, sizeof(ev)); /* uninitialized : found when running kterm under valgrind */ - - ev.type = KeyPress; -@@ -763,10 +719,6 @@ _XimCommitRecv( - - ev.time = 0L; - ev.serial = LastKnownRequestProcessed(im->core.display); -- -- if (ic->private.proto.registed_filter_event -- & (KEYPRESS_MASK | KEYRELEASE_MASK)) -- _XimFabricateSerial(im, ev.serial); - /* FIXME : - I wish there were COMMENTs (!) about the data passed around. - */ -diff --git a/src/xlibi18n/XimintP.h b/src/xlibi18n/XimintP.h -index 2a51e2ed..674da029 100644 ---- a/src/xlibi18n/XimintP.h -+++ b/src/xlibi18n/XimintP.h -@@ -149,8 +149,6 @@ typedef struct _XimProtoPrivateRec { - XimTransRegDispatcher register_dispatcher; - XimTransCallDispatcher call_dispatcher; - XPointer spec; -- -- unsigned long fabricated_serial; - } XimProtoPrivateRec; - - /* -@@ -309,19 +307,4 @@ typedef struct _XicProtoPrivateRec { - #define XIM_MAXIMNAMELEN 64 - #define XIM_MAXLCNAMELEN 64 - --Bool --_XimFabricateSerial( -- Xim im, -- unsigned long serial); -- --Bool --_XimUnfabricateSerial( -- Xim im, -- unsigned long serial); -- --Bool --_XimIsFabricatedSerial( -- Xim im, -- unsigned long serial); -- - #endif /* _XIMINTP_H */ --- -2.35.3 - diff --git a/libX11-1.8.8.tar.xz b/libX11-1.8.8.tar.xz deleted file mode 100644 index 148ff00..0000000 --- a/libX11-1.8.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:46afaebb2dd1a3a7348c0544a4b1c88c51de4bda885fde57d2cf98427ee5cbf6 -size 1872808 diff --git a/libX11-1.8.9.tar.xz b/libX11-1.8.9.tar.xz new file mode 100644 index 0000000..f856d22 --- /dev/null +++ b/libX11-1.8.9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:779d8f111d144ef93e2daa5f23a762ce9555affc99592844e71c4243d3bd3262 +size 1811900 diff --git a/libX11.changes b/libX11.changes index 1d3a5ad..1c8025a 100644 --- a/libX11.changes +++ b/libX11.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Sat Apr 6 03:06:49 UTC 2024 - Stefan Dirsch + +- Update to 1.8.9 + * Fix regressions introduced in 1.8.8 (!245, !248) - this includes + reverting for now the previous "Fix XIM input sometimes jumbled + (#198, !236)" +- supersedes + * U_0001-xlibi18n-restore-parse_line1-for-WIN32-builds.patch + * U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch + * U_0003-Revert-ximcp-Unmark-to-fabricate-key-events-with-XKe.patch + ------------------------------------------------------------------- Fri Apr 5 10:42:25 UTC 2024 - Stefan Dirsch diff --git a/libX11.spec b/libX11.spec index 4c97343..09bc3ea 100644 --- a/libX11.spec +++ b/libX11.spec @@ -17,7 +17,7 @@ Name: libX11 -Version: 1.8.8 +Version: 1.8.9 Release: 0 Summary: Core X11 protocol client library License: MIT @@ -32,9 +32,6 @@ Patch1: p_xlib_skip_ext_env.diff # PATCH-FIX-UPSTREAM en-locales.diff fdo#48596 bnc#388711 -- Add missing data for more en locales Patch2: en-locales.diff Patch3: u_no-longer-crash-in-XVisualIDFromVisual.patch -Patch11: U_0001-xlibi18n-restore-parse_line1-for-WIN32-builds.patch -Patch12: U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch -Patch13: U_0003-Revert-ximcp-Unmark-to-fabricate-key-events-with-XKe.patch BuildRequires: fdupes BuildRequires: libtool BuildRequires: pkgconfig @@ -124,9 +121,6 @@ test -f nls/ja.S90/XLC_LOCALE.pre && exit 1 %patch -P 1 %patch -P 2 %patch -P 3 -p1 -%patch -P 11 -p1 -%patch -P 12 -p1 -%patch -P 13 -p1 %build %configure \