diff options
Diffstat (limited to 'sc/source/ui/view/gridwin.cxx')
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 9255837a9e3f..95ffc0e67ba5 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -4333,21 +4333,18 @@ void ScGridWindow::PasteSelection( const Point& rPosPixel ) { // within Calc - ScTransferObj* pCellTransfer = pOwnSelection->GetCellData(); + // keep a reference to the data in case the selection is changed during paste + rtl::Reference<ScTransferObj> pCellTransfer = pOwnSelection->GetCellData(); if ( pCellTransfer ) { - // keep a reference to the data in case the selection is changed during paste - uno::Reference<datatransfer::XTransferable> xRef( pCellTransfer ); - DropTransferObj( pCellTransfer, nPosX, nPosY, aLogicPos, DND_ACTION_COPY ); + DropTransferObj( pCellTransfer.get(), nPosX, nPosY, aLogicPos, DND_ACTION_COPY ); } else { - ScDrawTransferObj* pDrawTransfer = pOwnSelection->GetDrawData(); + // keep a reference to the data in case the selection is changed during paste + rtl::Reference<ScDrawTransferObj> pDrawTransfer = pOwnSelection->GetDrawData(); if ( pDrawTransfer ) { - // keep a reference to the data in case the selection is changed during paste - uno::Reference<datatransfer::XTransferable> xRef( pDrawTransfer ); - // bSameDocClipboard argument for PasteDraw is needed // because only DragData is checked directly inside PasteDraw pViewData->GetView()->PasteDraw( |