diff options
author | Henry Castro <hcastro@collabora.com> | 2018-05-28 10:20:53 -0400 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-08-27 21:29:00 +0200 |
commit | c005382ee9e7d8ab90bafe76e29c946dee0accf5 (patch) | |
tree | 091f5bc9468e992110d5059d97654ceada68c890 | |
parent | 16bbe4cddecb407203a754284ce538195d4f06e1 (diff) |
sc: simplify ScModule::GetClipDoc
Change-Id: I36a79a41b989d37efc35a9f9b4bebca9bdaf9ee9
Reviewed-on: https://gerrit.libreoffice.org/54935
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/59625
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r-- | sc/source/ui/app/scmod.cxx | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index 627dba2ec79f..9a2f890b35ea 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -664,28 +664,22 @@ void ScModule::SetDragJump( ScDocument* ScModule::GetClipDoc() { // called from document + SfxViewFrame* pViewFrame = nullptr; ScTabViewShell* pViewShell = nullptr; - const ScTransferObj* pObj = nullptr; + css::uno::Reference<css::datatransfer::XTransferable2> xTransferable; if ((pViewShell = dynamic_cast<ScTabViewShell*>(SfxViewShell::Current()))) - pObj = ScTransferObj::GetOwnClipboard(pViewShell->GetClipData()); + xTransferable.set(pViewShell->GetClipData()); else if ((pViewShell = dynamic_cast<ScTabViewShell*>(SfxViewShell::GetFirst()))) - pObj = ScTransferObj::GetOwnClipboard(pViewShell->GetClipData()); - else + xTransferable.set(pViewShell->GetClipData()); + else if ((pViewFrame = SfxViewFrame::GetFirst())) { - css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard; - - if (SfxViewFrame* pViewFrame = SfxViewFrame::GetFirst()) - xClipboard = pViewFrame->GetWindow().GetClipboard(); - - if (xClipboard.is()) - { - css::uno::Reference<css::datatransfer::XTransferable2> xTransferable( - xClipboard->getContents(), css::uno::UNO_QUERY); - pObj = ScTransferObj::GetOwnClipboard(xTransferable); - } + css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard = + pViewFrame->GetWindow().GetClipboard(); + xTransferable.set(xClipboard.is() ? xClipboard->getContents() : nullptr, css::uno::UNO_QUERY); } + const ScTransferObj* pObj = ScTransferObj::GetOwnClipboard(xTransferable); if (pObj) { ScDocument* pDoc = pObj->GetDocument(); |