libX11/U_0002-Revert-imDefLkup-Commit-first-info-in-XimCommitInfo.patch
Stefan Dirsch 6586cebbd2 - 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
  * fix regressions in 1.8.8 (issues #204, #205, #206, #207, #208)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libX11?expand=0&rev=115
2024-04-05 10:45:23 +00:00

147 lines
3.5 KiB
Diff

From 3ea9f4f769fecbbc8c5210c5833ad83ab8d9e97e Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
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