[Libreoffice-commits] core.git: sc/source

Henry Castro hcastro at collabora.com
Mon May 28 22:00:17 UTC 2018


 sc/source/ui/app/scmod.cxx |   24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

New commits:
commit 8f9f66e8d2bae94c1f469ffc51bdbffeba853a2b
Author: Henry Castro <hcastro at collabora.com>
Date:   Mon May 28 10:20:53 2018 -0400

    sc: simplify ScModule::GetClipDoc
    
    Change-Id: I36a79a41b989d37efc35a9f9b4bebca9bdaf9ee9
    Reviewed-on: https://gerrit.libreoffice.org/54935
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Henry Castro <hcastro at collabora.com>

diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index fc8145365871..26652ddf1808 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -662,28 +662,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();


More information about the Libreoffice-commits mailing list