[gtk/double-dead-keys: 1/3] composetable: Limit algorithmic checking
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/double-dead-keys: 1/3] composetable: Limit algorithmic checking
- Date: Sat, 27 Mar 2021 00:39:09 +0000 (UTC)
commit dbcd24adf4b3fccdf23cc98e132fe75f4f63df3f
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Mar 26 19:48:41 2021 -0400
composetable: Limit algorithmic checking
Only check for combinations of up to 2 dead keys with
a base character. We don't want to spend ages generating
all permutations of long sequences.
gtk/gtkcomposetable.c | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/gtk/gtkcomposetable.c b/gtk/gtkcomposetable.c
index fb5ab6abe6..7aa9792e3b 100644
--- a/gtk/gtkcomposetable.c
+++ b/gtk/gtkcomposetable.c
@@ -1190,6 +1190,12 @@ gtk_check_algorithmically (const guint16 *compose_buffer,
for (i = 0; i < n_compose && IS_DEAD_KEY (compose_buffer[i]); i++)
;
+
+ /* Allow at most 2 dead keys */
+ if (i > 2)
+ return FALSE;
+
+ /* Can't combine if there's no base character */
if (i == n_compose)
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]