diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-05-14 16:27:46 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2022-05-25 09:27:14 +0200 |
commit | e2f77e9b1d6d171da32ba13c2987b4be41231611 (patch) | |
tree | c4bda281eeada11c8e4d391b44a9719017468e2b | |
parent | deb1b677048b77f31a3f29bd033cfb9e61f47fcc (diff) |
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/+/134193
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
-rw-r--r-- | editeng/source/editeng/impedit.cxx | 20 |
1 files changed, 10 insertions, 10 deletions
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() ) { |