diff options
Diffstat (limited to 'embeddedobj')
-rw-r--r-- | embeddedobj/source/msole/oleembed.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx index 821cbae9b1c4..a7a2bf661d70 100644 --- a/embeddedobj/source/msole/oleembed.cxx +++ b/embeddedobj/source/msole/oleembed.cxx @@ -623,8 +623,10 @@ uno::Sequence< sal_Int32 > SAL_CALL OleEmbeddedObject::getReachableStates() // the list of states can only be guessed based on standard verbs, // since there is no way to detect what additional verbs do + // Pass m_pOleComponent to the lambda by copy, to make sure it doesn't depend on possible + // destruction of 'this', while the lock is unset return GetReachableStatesList_Impl( - ExecUnlocked([this] { return m_pOleComponent->GetVerbList(); }, aGuard)); + ExecUnlocked([p = m_pOleComponent] { return p->GetVerbList(); }, aGuard)); } else #endif |