summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2016-11-29 16:51:26 -0500
committerKohei Yoshida <libreoffice@kohei.us>2016-11-30 00:57:22 +0000
commit9ba24ac54100a5af6ecdde479ebeb5c916e6fad2 (patch)
tree523837c35361abfd64c98ee2deaf9352355c5297
parentf9578922d8dea4dcd411dfe39ddde417800b66c4 (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.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 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;
}