summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2009-03-20 10:32:11 +0000
committerOliver Bolte <obo@openoffice.org>2009-03-20 10:32:11 +0000
commit4cc3ad7394d4cea523c978b14834e08ae39d2183 (patch)
treefb9ae8f4ab23b2cb653868fe662cfd513100d6d7
parent598680d51c357c9fb7a05d4e197dd8e50f12c924 (diff)
CWS-TOOLING: integrate CWS ooo31gsl5
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)
-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 df4b45db01..df4b8bfecb 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;
}