[geany/geany-osx] bdf715: Add patch to fix scintilla input method when using im-quartz

Jiří Techet git-noreply at xxxxx
Wed Oct 23 16:23:29 UTC 2019


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Wed, 23 Oct 2019 16:23:29 UTC
Commit:      bdf7152ff0f2ec963f0707941291c2308e944133
             https://github.com/geany/geany-osx/commit/bdf7152ff0f2ec963f0707941291c2308e944133

Log Message:
-----------
Add patch to fix scintilla input method when using im-quartz


Modified Paths:
--------------
    patches/02-geany_scintilla_im_fix.patch

Modified: patches/02-geany_scintilla_im_fix.patch
38 lines changed, 38 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,38 @@
+# HG changeset patch
+# User Jiří Techet <techet at gmail.com>
+# Date 1571822802 -7200
+#      Wed Oct 23 11:26:42 2019 +0200
+# Node ID 46e1cd396ba57332ec81628c7365bfc91ed207e1
+# Parent  4f8c3b19095af4f0d333f1b6aa1ff1e3a69d9f4c
+Call SetCandidateWindowPos() inside PreeditChanged()
+
+On macOS it is possible to long-press a key to get a popup offering to
+select characters with additional accents. This popup should appear
+at the position of the caret. Scintilla however only sets the
+caret position using gtk_im_context_set_cursor_location() for some
+input methods (which exclude im-quartz) so the caret position isn't
+set correctly and macOS always displays the popup at the very bottom
+of the screen.
+
+Moving SetCandidateWindowPos() into PreeditChanged() seems to fix
+the problem.
+
+diff --git a/scintilla/gtk/ScintillaGTK.cxx b/scintilla/gtk/ScintillaGTK.cxx
+--- a/scintilla/gtk/ScintillaGTK.cxx
++++ b/scintilla/gtk/ScintillaGTK.cxx
+@@ -2442,7 +2442,6 @@
+ 		}
+ 
+ 		EnsureCaretVisible();
+-		SetCandidateWindowPos();
+ 		ShowCaretAtCurrentPosition();
+ 	} catch (...) {
+ 		errorStatus = SC_STATUS_FAILURE;
+@@ -2487,6 +2486,7 @@
+ 	} else {
+ 		sciThis->PreeditChangedWindowedThis();
+ 	}
++	sciThis->SetCandidateWindowPos();
+ }
+ 
+ void ScintillaGTK::StyleSetText(GtkWidget *widget, GtkStyle *, void *) {



--------------
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