editeng/source/editeng/editeng.cxx |    7 +++----
 editeng/source/editeng/impedit.cxx |   21 +++++++++------------
 2 files changed, 12 insertions(+), 16 deletions(-)

New commits:
commit 3bcf251cfe9bb11df63697c14a53c81e0e23c851
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Mar 8 09:35:49 2021 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Mar 8 21:39:07 2021 +0100

    tdf#140498 middle-button paste doesn't depend on a vcl::Window
    
    Change-Id: I4f1f14994b35cec51761689875bf6b5135612f3c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112161
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index da9520aae81a..3c06cbf96f51 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -64,6 +64,7 @@
 #include <rtl/strbuf.hxx>
 #include <sal/log.hxx>
 #include <vcl/help.hxx>
+#include <vcl/transfer.hxx>
 #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
 
 #if OSL_DEBUG_LEVEL > 1
@@ -1112,10 +1113,8 @@ bool EditEngine::PostKeyEvent( const KeyEvent& 
rKeyEvent, EditView* pEditView, v
                     aCurSel = pImpEditEngine->MoveCursor( rKeyEvent, pEditView 
);
 
                     if ( aCurSel.HasRange() ) {
-                        if (vcl::Window* pWindow = pEditView->GetWindow()) {
-                            
Reference<css::datatransfer::clipboard::XClipboard> 
aSelection(pWindow->GetPrimarySelection());
-                            pEditView->pImpEditView->CutCopy( aSelection, 
false );
-                        }
+                        Reference<css::datatransfer::clipboard::XClipboard> 
aSelection(GetSystemPrimarySelection());
+                        pEditView->pImpEditView->CutCopy( aSelection, false );
                     }
 
                     bMoved = true;
diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 728ed10ae3e9..f42ae0071a3c 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -1671,19 +1671,16 @@ bool ImpEditView::MouseButtonUp( const MouseEvent& 
rMouseEvent )
     nExtraCursorFlags = GetCursorFlags::NONE;
     bClickedInSelection = false;
 
-    if (vcl::Window* pWindow = GetWindow())
+    if ( rMouseEvent.IsMiddle() && !bReadOnly &&
+         Application::GetSettings().GetMouseSettings().GetMiddleButtonAction() 
== MouseMiddleButtonAction::PasteSelection )
     {
-        if ( rMouseEvent.IsMiddle() && !bReadOnly &&
-             ( 
pWindow->GetSettings().GetMouseSettings().GetMiddleButtonAction() == 
MouseMiddleButtonAction::PasteSelection ) )
-        {
-            Reference<css::datatransfer::clipboard::XClipboard> 
aClipBoard(GetSelection());
-            Paste( aClipBoard );
-        }
-        else if ( rMouseEvent.IsLeft() && GetEditSelection().HasRange() )
-        {
-            Reference<css::datatransfer::clipboard::XClipboard> 
aClipBoard(GetSelection());
-            CutCopy( aClipBoard, false );
-        }
+        Reference<css::datatransfer::clipboard::XClipboard> 
aClipBoard(GetSelection());
+        Paste( aClipBoard );
+    }
+    else if ( rMouseEvent.IsLeft() && GetEditSelection().HasRange() )
+    {
+        Reference<css::datatransfer::clipboard::XClipboard> 
aClipBoard(GetSelection());
+        CutCopy( aClipBoard, false );
     }
 
     return pEditEngine->pImpEditEngine->MouseButtonUp( rMouseEvent, 
GetEditViewPtr() );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to