sw/qa/extras/tiledrendering/tiledrendering.cxx | 4 ++++ sw/source/core/crsr/crsrsh.cxx | 7 +++++++ 2 files changed, 11 insertions(+)
New commits: commit 7b784e4e3927d91a96cd0b54fc43c9b488822e47 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed Sep 14 09:16:56 2016 +0200 sw draw text: emit LOK_CALLBACK_VIEW_LOCK from registerCallback() With this, in case the first view has an active text edit and a new view is created, then the shape text lock is instantly visible in the second view, even if the first view does not end + begin the text edit again later. Change-Id: I82d98ab1431a54a1a8897d16ce7fa0856baa2a10 diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index eeef56d..d5bcf1d 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -1209,6 +1209,7 @@ void SwTiledRenderingTest::testShapeTextUndoGroupShells() ViewCallback aView2; aView2.m_aViewCursor = Rectangle(); aView2.m_bViewSelectionSet = false; + aView2.m_bViewLock = false; SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView2); // Difference was 935 twips, the new view didn't see the editeng cursor of // the old one. The new difference should be <1px, but here we deal with twips. @@ -1216,6 +1217,9 @@ void SwTiledRenderingTest::testShapeTextUndoGroupShells() // This was false, editeng text selection of the first view wasn't noticed // by the second view. CPPUNIT_ASSERT(aView2.m_bViewSelectionSet); + // This was false, the new view wasn't aware of the shape text lock created + // by the old view. + CPPUNIT_ASSERT(aView2.m_bViewLock); mxComponent->dispose(); mxComponent.clear(); diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx index f14f617..d0ffa27 100644 --- a/sw/source/core/crsr/crsrsh.cxx +++ b/sw/source/core/crsr/crsrsh.cxx @@ -1205,6 +1205,13 @@ void SwCursorShell::NotifyCursor(SfxViewShell* pOtherShell) const rEditView.RegisterOtherShell(nullptr); // Text selection, if any. rEditView.DrawSelection(pOtherShell); + + // Shape text lock. + if (OutlinerView* pOutlinerView = pView->GetTextEditOutlinerView()) + { + OString sRect = pOutlinerView->GetOutputArea().toString(); + SfxLokHelper::notifyOtherView(GetSfxViewShell(), pOtherShell, LOK_CALLBACK_VIEW_LOCK, "rectangle", sRect); + } } else { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits