[Libreoffice-commits] core.git: vcl/source
Michael Meeks
michael.meeks at collabora.com
Fri May 8 04:52:59 PDT 2015
vcl/source/control/ctrl.cxx | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
New commits:
commit 94cd5204e302950038278f3828a2d98c51361167
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Fri May 8 12:20:18 2015 +0100
vcl: Control - hold a VclPtr instead of a dogtag over emission.
Change-Id: Ibedf2fc25ac141e10d07ba757fa6c76a4c4a6cff
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index af9b3d4..34c4248 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -324,21 +324,18 @@ void Control::AppendLayoutData( const Control& rSubControl ) const
}
}
-bool Control::ImplCallEventListenersAndHandler( sal_uLong nEvent, const Link<>& rHandler, void* pCaller )
+bool Control::ImplCallEventListenersAndHandler( sal_uLong nEvent, const Link<>& rHandler, void* pCaller )
{
- ImplDelData aCheckDelete;
- ImplAddDel( &aCheckDelete );
+ VclPtr<Control> xThis(this);
CallEventListeners( nEvent );
- if ( !aCheckDelete.IsDead() )
+
+ if ( !xThis->IsDisposed() )
{
rHandler.Call( pCaller );
- if ( !aCheckDelete.IsDead() )
- {
- ImplRemoveDel( &aCheckDelete );
+ if ( !xThis->IsDisposed() )
return false;
- }
}
return true;
}
More information about the Libreoffice-commits
mailing list