summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorHans-Joachim Lankenau <hjs@openoffice.org>2009-03-23 16:32:23 +0000
committerHans-Joachim Lankenau <hjs@openoffice.org>2009-03-23 16:32:23 +0000
commit76703cd5a8c37d1911481104dcfc2e9f13de93ea (patch)
tree58656579bc1c0e85529cf54e4602e8e2d271745c /sfx2/source
parente0998491a09e682106574806eaf8274728817da6 (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.cxx6
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;
}