summaryrefslogtreecommitdiffstats
path: root/editeng
diff options
context:
space:
mode:
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/editeng/impedit.cxx13
-rw-r--r--editeng/source/editeng/impedit.hxx1
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: