diff options
author | Hans-Joachim Lankenau <hjs@openoffice.org> | 2009-03-23 16:32:23 +0000 |
---|---|---|
committer | Hans-Joachim Lankenau <hjs@openoffice.org> | 2009-03-23 16:32:23 +0000 |
commit | 76703cd5a8c37d1911481104dcfc2e9f13de93ea (patch) | |
tree | 58656579bc1c0e85529cf54e4602e8e2d271745c /sfx2/source | |
parent | e0998491a09e682106574806eaf8274728817da6 (diff) |
CWS-TOOLING: integrate CWS ooo31gsl5_DEV300
2009-03-12 11:47:20 +0100 cd r269379 : #i100110# Reset deleted flag in Execute_Impl to prevent dtor to write to stack
2009-03-11 18:03:43 +0100 pl r269346 : #i100116# fix accept focus behavior of tool windows (thanks cmc)
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/dialog/templdlg.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx index cb2c14893e33..c0ee288eb882 100644 --- a/sfx2/source/dialog/templdlg.cxx +++ b/sfx2/source/dialog/templdlg.cxx @@ -1731,6 +1731,7 @@ BOOL SfxCommonTemplateDialog_Impl::Execute_Impl( nId, SFX_CALLMODE_SYNCHRON | SFX_CALLMODE_RECORD | SFX_CALLMODE_MODAL, pItems, nModi ); + // FIXME: Dialog can be destroyed while in Execute() check stack variable for dtor flag! if ( !pItem || aDeleted() ) return FALSE; @@ -1753,6 +1754,11 @@ BOOL SfxCommonTemplateDialog_Impl::Execute_Impl( *pIdx = i; } } + + // Reset destroyed flag otherwise we use the pointer in the dtor + // where the local stack object is already destroyed. This would + // overwrite objects on the stack!! See #i100110 + pbDeleted = NULL; return TRUE; } |