tdf#96888 Kill internal vcl dog-tags ...

Did a small change to short Dialog::Execute() in dialog.cxx file. Patch No. 3

Change-Id: I0ce2f62caea2d0aad4ced48df30d924f87de3c40
Reviewed-on: https://gerrit.libreoffice.org/21215
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
This commit is contained in:
Ras-al-Ghul
2016-01-07 21:52:26 +05:30
committed by Michael Meeks
parent 5821c8949e
commit 6ac256da90

View File

@@ -867,34 +867,30 @@ short Dialog::Execute()
if ( !ImplStartExecuteModal() )
return 0;
ImplDelData aDelData;
ImplAddDel( &aDelData );
VclPtr<vcl::Window> xWindow = this;
#ifdef DBG_UTIL
ImplDelData aParentDelData;
vcl::Window* pDialogParent = mpDialogParent;
if( pDialogParent )
pDialogParent->ImplAddDel( &aParentDelData );
VclPtr<vcl::Window> xDialogParent = mpDialogParent;
#endif
// Yield util EndDialog is called or dialog gets destroyed
// (the latter should not happen, but better safe than sorry
while ( !aDelData.IsDead() && mbInExecute )
while ( !xWindow->IsDisposed() && mbInExecute )
Application::Yield();
ImplEndExecuteModal();
#ifdef DBG_UTIL
if( pDialogParent )
if( xDialogParent )
{
if( ! aParentDelData.IsDead() )
pDialogParent->ImplRemoveDel( &aParentDelData );
if( ! xDialogParent->IsDisposed() )
xDialogParent.clear()
else
OSL_FAIL( "Dialog::Execute() - Parent of dialog destroyed in Execute()" );
}
#endif
if ( !aDelData.IsDead() )
ImplRemoveDel( &aDelData );
if ( !xWindow->IsDisposed() )
xWindow.clear();
#ifdef DBG_UTIL
else
{