editeng/source/editeng/impedit.cxx |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

New commits:
commit dba12ec9cf049812dfadade3ed6a84127a9dca6c
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sat May 14 16:27:46 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat May 14 19:17:03 2022 +0200

    tdf#149079 don't skip disposing DnDListener
    
    even if there is no longer a DropTarget don't return early and
    omit to inform listeners of the disposing
    
    Change-Id: I6ce7fe1664049a9e0a88b549b1c8c94ec8072c1f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134322
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index d43e3053489f..b2ce6d198752 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -2693,18 +2693,18 @@ void ImpEditView::RemoveDragAndDropListeners()
     else if (auto xWindow = GetWindow())
         xDropTarget = xWindow->GetDropTarget();
 
-    if (!xDropTarget.is())
-        return;
-
-    css::uno::Reference<css::datatransfer::dnd::XDragGestureRecognizer> 
xDragGestureRecognizer(xDropTarget, uno::UNO_QUERY);
-    if (xDragGestureRecognizer.is())
+    if (xDropTarget.is())
     {
-        uno::Reference<datatransfer::dnd::XDragGestureListener> 
xDGL(mxDnDListener, uno::UNO_QUERY);
-        xDragGestureRecognizer->removeDragGestureListener(xDGL);
-    }
+        css::uno::Reference<css::datatransfer::dnd::XDragGestureRecognizer> 
xDragGestureRecognizer(xDropTarget, uno::UNO_QUERY);
+        if (xDragGestureRecognizer.is())
+        {
+            uno::Reference<datatransfer::dnd::XDragGestureListener> 
xDGL(mxDnDListener, uno::UNO_QUERY);
+            xDragGestureRecognizer->removeDragGestureListener(xDGL);
+        }
 
-    uno::Reference<datatransfer::dnd::XDropTargetListener> xDTL(mxDnDListener, 
uno::UNO_QUERY);
-    xDropTarget->removeDropTargetListener(xDTL);
+        uno::Reference<datatransfer::dnd::XDropTargetListener> 
xDTL(mxDnDListener, uno::UNO_QUERY);
+        xDropTarget->removeDropTargetListener(xDTL);
+    }
 
     if ( mxDnDListener.is() )
     {

Reply via email to