diff options
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 5 | ||||
-rw-r--r-- | sw/qa/extras/tiledrendering/tiledrendering.cxx | 4 | ||||
-rw-r--r-- | sw/source/core/crsr/crsrsh.cxx | 9 |
3 files changed, 14 insertions, 4 deletions
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index eb14f29fc25c..402c61e4d40f 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -767,9 +767,12 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) if(SfxViewShell* pViewShell = GetSfxViewShell()) { if (pOtherShell) + { // An other shell wants to know about our existing // selection. - SfxLokHelper::notifyOtherView(pViewShell, pOtherShell, LOK_CALLBACK_GRAPHIC_VIEW_SELECTION, "selection", sSelection); + if (pViewShell != pOtherShell) + SfxLokHelper::notifyOtherView(pViewShell, pOtherShell, LOK_CALLBACK_GRAPHIC_VIEW_SELECTION, "selection", sSelection); + } else { // We have a new selection, so both pViewShell and the diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index e61f23ff7e37..a2a88e17c868 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -1303,10 +1303,14 @@ void SwTiledRenderingTest::testCreateViewGraphicSelection() // Make sure that the hidden text cursor isn't visible in the second view, either. ViewCallback aView2; aView2.m_bViewCursorVisible = true; + aView2.m_bGraphicViewSelection = false; 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); + // This was false, the second view didn't get the graphic selection of the + // first view. + CPPUNIT_ASSERT(aView2.m_bGraphicViewSelection); mxComponent->dispose(); mxComponent.clear(); diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx index bfa0bc0702c0..241d8d43ead8 100644 --- a/sw/source/core/crsr/crsrsh.cxx +++ b/sw/source/core/crsr/crsrsh.cxx @@ -1192,12 +1192,15 @@ OUString SwCursorShell::getPageRectangles() return OUString::fromUtf8(comphelper::string::join("; ", v).getStr()); } -void SwCursorShell::NotifyCursor(SfxViewShell* pViewShell) const +void SwCursorShell::NotifyCursor(SfxViewShell* pOtherShell) const { // Cursor position and visibility. - m_pVisibleCursor->SetPosAndShow(pViewShell); + m_pVisibleCursor->SetPosAndShow(pOtherShell); // Text selection. - m_pCurrentCursor->Show(pViewShell); + m_pCurrentCursor->Show(pOtherShell); + // Graphic selection. + auto pView = const_cast<SdrView*>(GetDrawView()); + pView->AdjustMarkHdl(pOtherShell); } /// go to the next SSelection |