[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