diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2016-11-29 16:51:26 -0500 |
---|---|---|
committer | Kohei Yoshida <libreoffice@kohei.us> | 2016-11-30 00:57:22 +0000 |
commit | 9ba24ac54100a5af6ecdde479ebeb5c916e6fad2 (patch) | |
tree | 523837c35361abfd64c98ee2deaf9352355c5297 | |
parent | f9578922d8dea4dcd411dfe39ddde417800b66c4 (diff) |
tdf#71409: always create edit engine instance for the input window.
In order to properly manage accessibility events esp when no letters
are typed. Without this, doing things like:
1) hit F2 to active cell edit,
2) hit ESC to deactivate,
3) go back to 1) and repeat the cycle several times,
4) hit Shift-Ctrl-F2 to activate the top input window
would result in duplicated accessibility events fired, the number of
which depends on how many times the above step was repeated.
Change-Id: I116fdcbc63cbe9d33039d38a47770a6813c4e523
Reviewed-on: https://gerrit.libreoffice.org/31389
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
-rw-r--r-- | sc/source/ui/app/inputhdl.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 1264eb917c76..d4e0a711d504 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -1894,8 +1894,14 @@ void ScInputHandler::UpdateActiveView() } } - if (pInputWin && eMode == SC_INPUT_TOP ) + if (pInputWin) + { + // tdf#71409: Always create the edit engine instance for the input + // window, in order to properly manage accessibility events. pTopView = pInputWin->GetEditView(); + if (eMode != SC_INPUT_TOP) + pTopView = nullptr; + } else pTopView = nullptr; } |