diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2016-11-29 16:51:26 -0500 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-02-17 21:35:26 +0100 |
commit | 8cce9a168a97f82760845adc440be1ca7e7e9629 (patch) | |
tree | 8174dc01918275a665da19107d640e704bda452e /sc/source | |
parent | b9d622df69302579d1f700022bc5950c841e935b (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>
(cherry picked from commit 9ba24ac54100a5af6ecdde479ebeb5c916e6fad2)
Diffstat (limited to 'sc/source')
-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 e0712c4671f8..3e9a9647f446 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -1892,8 +1892,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; } |