summaryrefslogtreecommitdiffstats
path: root/editeng
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2019-07-09 20:29:05 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-07-15 15:45:41 +0200
commitafadb14164ccd559a36f00efa0f01bac1813bc0e (patch)
tree02e576a570fb26f64405dec139e4da86a3535942 /editeng
parentRevert "tdf#108687 vcl: always enable tabstop on radio buttons" (diff)
downloadcore-afadb14164ccd559a36f00efa0f01bac1813bc0e.tar.gz
core-afadb14164ccd559a36f00efa0f01bac1813bc0e.zip
tdf#126316 revert Clipboard to PrimarySelection
Regression from commit ce9795954d39 ("fix crash in header/footer calc dialog"), which replaced some GetPrimarySelection() calls with GetClipboard() calls. This replaces the Window class calls for clipboard with global GetSystem* calls in vcl/transfer.hxx. Not sure if this is the best place, but the crowded Window class is definitly not. Reviewed-on: https://gerrit.libreoffice.org/75318 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit f8f43e55ec4ae7e436a5043fe6f4bae7b39cc6ad) Change-Id: Ic5f9e575c1ac5d43df234426c5616eca616dea30 Reviewed-on: https://gerrit.libreoffice.org/75370 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
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: