summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-09-12 13:35:11 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-09-13 08:15:44 +0200
commit50b66e4d3ef790b4228a3cc099346edf1838f2e7 (patch)
tree580483f07a35124a1a03db33177a158d59a8eaa5
parent1cabcedcff279b95635e457ef36bb4a07f7947aa (diff)
sw: emit LOK_CALLBACK_VIEW_CURSOR_VISIBLE as part of registerCallback()
Have a graphic selection (and thus a hidden text cursor) in the first view, create a second view. The view text cursors should be hidden in the second view as well. Change-Id: Ic22db84aab62c8f43c2da3d4a19b56c993c9f012 Reviewed-on: https://gerrit.libreoffice.org/28836 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit ab6dcd326ad7bf8c47a820514440bf8ac5f0d5f3)
-rw-r--r--sw/qa/extras/tiledrendering/tiledrendering.cxx8
-rw-r--r--sw/source/core/crsr/viscrs.cxx3
2 files changed, 11 insertions, 0 deletions
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index c8dbaa493336..142ca1092c2c 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -1297,6 +1297,14 @@ void SwTiledRenderingTest::testCreateViewGraphicSelection()
// first one.
CPPUNIT_ASSERT(aView1.m_bGraphicSelection);
+ // Make sure that the hidden text cursor isn't visible in the second view, either.
+ ViewCallback aView2;
+ aView2.m_bViewCursorVisible = true;
+ SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView2);
+ // This was true, the second view didn't get the visibility of the text
+ // cursor of the first view.
+ CPPUNIT_ASSERT(!aView2.m_bViewCursorVisible);
+
mxComponent->dispose();
mxComponent.clear();
comphelper::LibreOfficeKit::setActive(false);
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index b9e9d012109d..126df5fab78f 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -204,7 +204,10 @@ void SwVisibleCursor::_SetPosAndShow(SfxViewShell* pViewShell)
if (pViewShell == m_pCursorShell->GetSfxViewShell())
pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_INVALIDATE_VISIBLE_CURSOR, sRect.getStr());
else
+ {
SfxLokHelper::notifyOtherView(m_pCursorShell->GetSfxViewShell(), pViewShell, LOK_CALLBACK_INVALIDATE_VIEW_CURSOR, "rectangle", sRect);
+ SfxLokHelper::notifyOtherView(m_pCursorShell->GetSfxViewShell(), pViewShell, LOK_CALLBACK_VIEW_CURSOR_VISIBLE, "visible", OString::boolean(m_bIsVisible));
+ }
}
else
{