diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2020-03-19 13:54:18 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-05-25 09:36:24 +0200 |
commit | 3c60b9cced6d5deebc1ca46933d3e3dbac923675 (patch) | |
tree | c02a0654b7bb602e057e0b38c593b5a3c5b065fb | |
parent | 7b3959b848e8bfc592903c5f69d16afee762cd44 (diff) |
Fix sending reference marks for current selection
When selecting range on mobile in validation dialog
the message wasn't sent due to missing ViewShell
Change-Id: Iaab543368469cd363b54b1a89f6983b8c01877ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94693
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r-- | sc/source/ui/app/inputhdl.cxx | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 68e2f780fc14..b8d126c936b7 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -465,10 +465,16 @@ ReferenceMark ScInputHandler::GetReferenceMark( ScViewData& rViewData, ScDocShel void ScInputHandler::UpdateLokReferenceMarks() { - if ( !comphelper::LibreOfficeKit::isActive() || !pActiveViewSh ) + if ( !comphelper::LibreOfficeKit::isActive()) return; - ScViewData& rViewData = pActiveViewSh->GetViewData(); + ScTabViewShell* pShell = pActiveViewSh ? pActiveViewSh + : dynamic_cast<ScTabViewShell*>(SfxViewShell::Current()); + + if (!pShell) + return; + + ScViewData& rViewData = pShell->GetViewData(); ScDocShell* pDocSh = rViewData.GetDocShell(); ScRangeFindList* pRangeFinder = GetRangeFindList(); @@ -521,18 +527,18 @@ void ScInputHandler::UpdateLokReferenceMarks() nX1, nX2, nY1, nY2, nTab, Color( rData.nColor ) ); - ScInputHandler::SendReferenceMarks( pActiveViewSh, aReferenceMarks ); + ScInputHandler::SendReferenceMarks( pShell, aReferenceMarks ); } } else if ( nCount ) { - ScInputHandler::SendReferenceMarks( pActiveViewSh, aReferenceMarks ); + ScInputHandler::SendReferenceMarks( pShell, aReferenceMarks ); } else { // Clear aReferenceMarks.clear(); - ScInputHandler::SendReferenceMarks( pActiveViewSh, aReferenceMarks ); + ScInputHandler::SendReferenceMarks( pShell, aReferenceMarks ); } } |