diff options
-rw-r--r-- | vcl/source/app/vclevent.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/vcl/source/app/vclevent.cxx b/vcl/source/app/vclevent.cxx index 7da46dbb19ec..8d2142fa4821 100644 --- a/vcl/source/app/vclevent.cxx +++ b/vcl/source/app/vclevent.cxx @@ -35,7 +35,9 @@ void VclEventListeners::Call( VclSimpleEvent& rEvent ) const if (VclWindowEvent* pWindowEvent = dynamic_cast<VclWindowEvent*>(&rEvent)) { VclPtr<vcl::Window> xWin(pWindowEvent->GetWindow()); - while ( aIter != aEnd && (!xWin || !xWin->isDisposed()) ) + // see tdf#142549 before changing IsDisposed() to isDisposed(), maybe !xWin->mpWindowImpl + // or special case VclEventId::ObjectDying ? + while ( aIter != aEnd && (!xWin || !xWin->IsDisposed()) ) { Link<VclSimpleEvent&,void> &rLink = *aIter; // check this hasn't been removed in some re-enterancy scenario fdo#47368 |