From cec94a4ecaad666f7222598fd1e2ad9ac05fb878 Mon Sep 17 00:00:00 2001 From: Marco Cecchetti Date: Sun, 9 Oct 2016 22:06:40 +0200 Subject: LOK: Calc: an edit view may be not displayed when a 2nd one is killed - description: when in view #1 text editing of a cell is over (edit view killed) a cell still text edited in view #2 can stop to be painted correctly; - reason: when an edit view is killed an ScTabViewShell::UpdateFormulas is broadcasted to all views which in turn ends by invoking ScViewData::SetEditEngine for already existent edit views: if the needed output area size for the actual text content is less then the actual output area size (once grown, output area is never shrunk) leads to this issue; - solution: skip to invoke ScViewData::SetEditEngine when LOK is active and the related view is not the current view. Change-Id: I2a97966c7c04701f0a5443aaaeb74760b622045d Reviewed-on: https://gerrit.libreoffice.org/29627 Reviewed-by: Marco Cecchetti Tested-by: Marco Cecchetti Reviewed-on: https://gerrit.libreoffice.org/29660 --- sc/source/ui/view/viewdata.cxx | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sc/source') diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index 4eb61f04b345..d14d72183f07 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -970,6 +970,10 @@ void ScViewData::SetEditEngine( ScSplitPos eWhich, ScEditEngineDefaulter* pNewEngine, vcl::Window* pWin, SCCOL nNewX, SCROW nNewY ) { + if (comphelper::LibreOfficeKit::isActive() + && GetViewShell() != SfxViewShell::Current()) + return; + bool bLayoutRTL = pDoc->IsLayoutRTL( nTabNo ); ScHSplitPos eHWhich = WhichH(eWhich); -- cgit