summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-03-22 11:05:20 +0000
committerMichael Stahl <michael.stahl@allotropia.de>2021-03-23 10:11:17 +0100
commitdb4c686af01a5f2a56145a3664e89a03dad5520e (patch)
tree44a8a3221830cd7f1bf882d4b6ed917dbe9be857 /sd
parent24d11d2d0855eba28328bcefe71e923277b0aaf3 (diff)
failure seen in UITest backtrace
Thread 1 (Thread 0x2ba41b2ef700 (LWP 27523)): #0 0x00002ba4249a0464 in SdTransferable::ObjectReleased() (this=0x2501da0) at sd/source/ui/app/sdxfer.cxx:650 #1 0x00002ba4249a00db in SdTransferable::~SdTransferable() (this=0x2501da0) at sd/source/ui/app/sdxfer.cxx:113 g = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x14c1ee0}, <No data fields>} #2 0x00002ba4249f1d36 in SdPageObjsTLV::SdPageObjsTransferable::~SdPageObjsTransferable() (this=0x2501da0) at sd/source/ui/dlg/sdtreelb.cxx:79 #3 0x00002ba4249f1d79 in SdPageObjsTLV::SdPageObjsTransferable::~SdPageObjsTransferable() (this=0x2501da0) at sd/source/ui/dlg/sdtreelb.cxx:78 #4 0x00002ba40446ccc3 in cppu::OWeakObject::release() (this=0x2501da0) at cppuhelper/source/weak.cxx:242 #5 0x00002ba4249a6015 in cppu::WeakImplHelper<com::sun::star::datatransfer::XTransferable2, com::sun::star::datatransfer::clipboard::XClipboardOwner, com::sun::star::datatransfer::dnd::XDragSourceListener, com::sun::star::lang::XUnoTunnel>::release() (this=0x2501da0) at include/cppuhelper/implbase.hxx:115 #6 0x00002ba40a291791 in rtl::Reference<TransferDataContainer>::~Reference() (this=0x2ea9780) at include/rtl/ref.hxx:129 ... #21 0x00002ba40af10699 in UIObjectUnoObj::~UIObjectUnoObj() (this=0x2501680) at vcl/source/uitest/uno/uiobject_uno.cxx:27 Change-Id: Idcd388cbe1ec78ff36f14fd39f9eb5134da873e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112881 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 90aefc051a8de8c9800f06f44252311f86f99f35) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112803 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/app/sdxfer.cxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/sd/source/ui/app/sdxfer.cxx b/sd/source/ui/app/sdxfer.cxx
index a5d599de1a1e..43d2479bb3b6 100644
--- a/sd/source/ui/app/sdxfer.cxx
+++ b/sd/source/ui/app/sdxfer.cxx
@@ -648,14 +648,18 @@ void SdTransferable::DragFinished( sal_Int8 nDropAction )
void SdTransferable::ObjectReleased()
{
- if( this == SD_MOD()->pTransferClip )
- SD_MOD()->pTransferClip = nullptr;
+ SdModule *pModule = SD_MOD();
+ if (!pModule)
+ return;
+
+ if( this == pModule->pTransferClip )
+ pModule->pTransferClip = nullptr;
- if( this == SD_MOD()->pTransferDrag )
- SD_MOD()->pTransferDrag = nullptr;
+ if( this == pModule->pTransferDrag )
+ pModule->pTransferDrag = nullptr;
- if( this == SD_MOD()->pTransferSelection )
- SD_MOD()->pTransferSelection = nullptr;
+ if( this == pModule->pTransferSelection )
+ pModule->pTransferSelection = nullptr;
}
void SdTransferable::SetObjectDescriptor( std::unique_ptr<TransferableObjectDescriptor> pObjDesc )