summaryrefslogtreecommitdiff
path: root/sw
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-12 12:20:12 +0000
commitab6dcd326ad7bf8c47a820514440bf8ac5f0d5f3 (patch)
tree0a6b20b227c2b1303f7cd3465768b9a95ec63be0 /sw
parent2934f6bcc75c781cdf9e614b9d7d8533eb680b3f (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>
Diffstat (limited to 'sw')
-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 6b86cb6f682d..49578f19c6d0 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -1296,6 +1296,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 d2e0fb3e9e98..e78c718d1c82 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
{