diff options
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/source/editeng/impedit.cxx | 13 | ||||
-rw-r--r-- | editeng/source/editeng/impedit.hxx | 1 |
2 files changed, 11 insertions, 3 deletions
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 215af72daaed..cf0e384ef664 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -1279,7 +1279,14 @@ Reference<css::datatransfer::clipboard::XClipboard> ImpEditView::GetClipboard() { if (vcl::Window* pWindow = GetWindow()) return pWindow->GetClipboard(); - return css::datatransfer::clipboard::SystemClipboard::create(comphelper::getProcessComponentContext()); + return GetSystemClipboard(); +} + +Reference<css::datatransfer::clipboard::XClipboard> ImpEditView::GetSelection() +{ + if (vcl::Window* pWindow = GetWindow()) + return pWindow->GetPrimarySelection(); + return GetSystemPrimarySelection(); } bool ImpEditView::PostKeyEvent( const KeyEvent& rKeyEvent, vcl::Window const * pFrameWin ) @@ -1343,12 +1350,12 @@ bool ImpEditView::MouseButtonUp( const MouseEvent& rMouseEvent ) if ( rMouseEvent.IsMiddle() && !bReadOnly && ( pWindow->GetSettings().GetMouseSettings().GetMiddleButtonAction() == MouseMiddleButtonAction::PasteSelection ) ) { - Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetClipboard()); + Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); Paste( aClipBoard ); } else if ( rMouseEvent.IsLeft() && GetEditSelection().HasRange() ) { - Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetClipboard()); + Reference<css::datatransfer::clipboard::XClipboard> aClipBoard(GetSelection()); CutCopy( aClipBoard, false ); } } diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index b7f7d5db0323..0ef1130322c0 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -283,6 +283,7 @@ private: void InvalidateAtWindow(const tools::Rectangle& rRect); css::uno::Reference<css::datatransfer::clipboard::XClipboard> GetClipboard(); + css::uno::Reference<css::datatransfer::clipboard::XClipboard> GetSelection(); protected: |