diff options
author | johnsonj <unknown> | 2019-07-17 15:37:49 +1000 |
---|---|---|
committer | johnsonj <unknown> | 2019-07-17 15:37:49 +1000 |
commit | e27436cf52af98321cab1b288fc7c215af568277 (patch) | |
tree | c3923ccc869b1ecbffd201caeece68e6931fca24 | |
parent | c4db23f76c9814fbdba304f4ad3fcc7ddd4f30ec (diff) | |
download | scintilla-mirror-e27436cf52af98321cab1b288fc7c215af568277.tar.gz |
Feature [feature-requests:#1300] part 3. Stop candidate window moving while
typing.
-rw-r--r-- | doc/ScintillaHistory.html | 1 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index 18d6dfe01..f75dfb496 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -570,6 +570,7 @@ On Win32, stop the IME candidate window moving unnecessarily and position it better.<br /> Stop candidate window overlapping composition text and taskbar.<br /> Position candidate window closer to composition text.<br /> + Stop candidate window moving while typing.<br /> <a href="https://sourceforge.net/p/scintilla/bugs/2120/">Bug #2120</a>. <a href="https://sourceforge.net/p/scintilla/feature-requests/1300/">Feature #1300</a>. </li> diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 55606fe07..e19dca8b5 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1100,8 +1100,12 @@ sptr_t ScintillaWin::HandleCompositionInline(uptr_t, sptr_t lParam) { return 0; } - if (initialCompose) + if (initialCompose) { ClearBeforeTentativeStart(); + } + + // Set candidate window left aligned to beginning of preedit string. + SetCandidateWindowPos(); pdoc->TentativeStart(); // TentativeActive from now on. std::vector<int> imeIndicator = MapImeIndicators(imc.GetImeAttributes()); @@ -1131,7 +1135,6 @@ sptr_t ScintillaWin::HandleCompositionInline(uptr_t, sptr_t lParam) { AddWString(imc.GetCompositionString(GCS_RESULTSTR), CharacterSource::imeResult); } EnsureCaretVisible(); - SetCandidateWindowPos(); ShowCaretAtCurrentPosition(); return 0; } |