error: dereferencing type-punned pointer will break strict-aliasing rules

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)

Change-Id: Id8f1828ae1dabc2f928d737d4fac8375dd73b5a2
This commit is contained in:
Stephan Bergmann
2013-08-12 16:41:55 +02:00
parent f91d4f156b
commit a8df509ca4
4 changed files with 15 additions and 14 deletions
+8 -8
View File
@@ -131,15 +131,15 @@ void SfxApplication::Deinitialize()
// from here no SvObjects have to exists
DELETEZ(pAppData_Impl->pMatcher);
DELETEX(pAppData_Impl->pSlotPool);
DELETEX(pAppData_Impl->pFactArr);
DELETEX(SfxSlotPool, pAppData_Impl->pSlotPool);
DELETEX(SfxChildWinFactArr_Impl, pAppData_Impl->pFactArr);
DELETEX(pAppData_Impl->pTbxCtrlFac);
DELETEX(pAppData_Impl->pStbCtrlFac);
DELETEX(pAppData_Impl->pMenuCtrlFac);
DELETEX(pAppData_Impl->pViewFrames);
DELETEX(pAppData_Impl->pViewShells);
DELETEX(pAppData_Impl->pObjShells);
DELETEX(SfxTbxCtrlFactArr_Impl, pAppData_Impl->pTbxCtrlFac);
DELETEX(SfxStbCtrlFactArr_Impl, pAppData_Impl->pStbCtrlFac);
DELETEX(SfxMenuCtrlFactArr_Impl, pAppData_Impl->pMenuCtrlFac);
DELETEX(SfxViewFrameArr_Impl, pAppData_Impl->pViewFrames);
DELETEX(SfxViewShellArr_Impl, pAppData_Impl->pViewShells);
DELETEX(SfxObjectShellArr_Impl, pAppData_Impl->pObjShells);
//TODO/CLEANTUP
//ReleaseArgs could be used instead!
+2 -2
View File
@@ -1013,10 +1013,10 @@ void SfxCommonTemplateDialog_Impl::ClearResource()
void SfxCommonTemplateDialog_Impl::impl_clear()
{
DELETEX(pStyleFamilies);
DELETEX(SfxStyleFamilies, pStyleFamilies);
sal_uInt16 i;
for ( i = 0; i < MAX_FAMILIES; ++i )
DELETEX(pFamilyState[i]);
DELETEX(SfxTemplateItem, pFamilyState[i]);
for ( i = 0; i < COUNT_BOUND_FUNC; ++i )
delete pBoundItems[i];
pCurObjShell = NULL;
+2 -2
View File
@@ -363,7 +363,7 @@ SfxObjectShell::~SfxObjectShell()
SfxObjectShell::Close();
pImp->pBaseModel.set( NULL );
DELETEX(pImp->pReloadTimer );
DELETEX(AutoReloadTimer_Impl, pImp->pReloadTimer );
SfxApplication *pSfxApp = SFX_APP();
if ( USHRT_MAX != pImp->nVisualDocumentNumber )
@@ -398,7 +398,7 @@ SfxObjectShell::~SfxObjectShell()
if ( IsDocShared() )
FreeSharedFile();
#endif
DELETEX( pMedium );
DELETEX( SfxMedium, pMedium );
}
// The removing of the temporary file must be done as the latest step in the document destruction
+3 -2
View File
@@ -34,9 +34,10 @@
#ifndef DELETEX
#ifdef DBG_UTIL
#define DELETEX(pPtr) ( delete pPtr, (void*&) pPtr = (void*) 0xFFFFFFFF )
#define DELETEX(T, pPtr) \
( delete pPtr, pPtr = reinterpret_cast<T *>(sal_IntPtr(-1)) )
#else
#define DELETEX(pPtr) delete pPtr
#define DELETEX(T, pPtr) delete pPtr
#endif
#endif