summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2016-11-29 16:51:26 -0500
committerAndras Timar <andras.timar@collabora.com>2017-02-17 21:35:26 +0100
commit8cce9a168a97f82760845adc440be1ca7e7e9629 (patch)
tree8174dc01918275a665da19107d640e704bda452e /sc/source
parentb9d622df69302579d1f700022bc5950c841e935b (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.cxx8
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;
}