[geany/geany-osx] 396a10: Add patch fixing Scintilla IME candidate window position

Jiří Techet git-noreply at xxxxx
Wed Nov 17 13:40:16 UTC 2021


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Wed, 17 Nov 2021 13:40:16 UTC
Commit:      396a10649617541b0f8f4794092b0165a54dc8f9
             https://github.com/geany/geany-osx/commit/396a10649617541b0f8f4794092b0165a54dc8f9

Log Message:
-----------
Add patch fixing Scintilla IME candidate window position


Modified Paths:
--------------
    geany.modules
    geany_patches/02-geany_scintilla_candidate_window_pos.patch

Modified: geany.modules
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -101,6 +101,7 @@
             revision="master" >
       <!-- This patch corresponds to https://github.com/geany/geany/pull/2363 -->
       <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/01-geany_config_shell.patch" strip="1" />
+      <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/02-geany_scintilla_candidate_window_pos.patch" strip="1" />
       <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/03-geany_vte_login_shell.patch" strip="1" />
     </branch>
     <dependencies>
@@ -118,6 +119,7 @@
             version="1.38">
       <!-- This patch corresponds to https://github.com/geany/geany/pull/2363 -->
       <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/01-geany_config_shell.patch" strip="1" />
+      <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/02-geany_scintilla_candidate_window_pos.patch" strip="1" />
       <patch file="https://github.com/geany/geany-osx/raw/master/geany_patches/03-geany_vte_login_shell.patch" strip="1" />
     </branch>
     <dependencies>


Modified: geany_patches/02-geany_scintilla_candidate_window_pos.patch
39 lines changed, 39 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,39 @@
+From 83c792588db15c0a004913dd3b91193c45d5ee68 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jir=CC=8Ci=CC=81=20Techet?= <techet at gmail.com>
+Date: Wed, 17 Nov 2021 14:31:52 +0100
+Subject: [PATCH] Always set candidate window pos, even when IME is not used
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Normally, when IME is enabled e.g. for Chinese, one can type some characters
+on normal keyboard and "compose" the Chinese character from them. Once at least
+of such subcharacters is typed, a popup window with "candidates" is shown and
+user can select which of them should be used.
+
+On macOS, this "candidate" window is also shown when no IME is used and
+a letter is long-pressed and there are some accented variants of the letter
+(for a, e.g. á, à, ą, â, ä, etc.). In this case, the input string has length 0
+and we have to set the correct position of the popup window, otherwise it's shown
+at coordinates (0, 0).
+---
+ scintilla/gtk/ScintillaGTK.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scintilla/gtk/ScintillaGTK.cxx b/scintilla/gtk/ScintillaGTK.cxx
+index 659eb763..206e3834 100644
+--- a/scintilla/gtk/ScintillaGTK.cxx
++++ b/scintilla/gtk/ScintillaGTK.cxx
+@@ -2458,8 +2458,8 @@ void ScintillaGTK::PreeditChangedInlineThis() {
+ void ScintillaGTK::PreeditChangedWindowedThis() {
+ 	try {
+ 		PreEditString pes(im_context);
++		SetCandidateWindowPos();
+ 		if (strlen(pes.str) > 0) {
+-			SetCandidateWindowPos();
+ 
+ 			PangoLayout *layout = gtk_widget_create_pango_layout(PWidget(wText), pes.str);
+ 			pango_layout_set_attributes(layout, pes.attrs);
+-- 
+2.31.1
+



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list