summaryrefslogtreecommitdiff
authorzecke <zecke>2004-12-26 14:12:19 (UTC)
committer zecke <zecke>2004-12-26 14:12:19 (UTC)
commitb4f1865343e70fe27750084b1f1d959c28ec7762 (patch) (unidiff)
tree6ac4b269066d82cf1ab198cd33477f3299fdad0e
parent99b055b572f64f180751b3a43440796d1bf9fc4f (diff)
downloadopie-b4f1865343e70fe27750084b1f1d959c28ec7762.zip
opie-b4f1865343e70fe27750084b1f1d959c28ec7762.tar.gz
opie-b4f1865343e70fe27750084b1f1d959c28ec7762.tar.bz2
QWidget *wid = 0;
delete wid; is legal c++ code. So make sure when freeing we obey c++ but take into account that free(NULL) is not legal.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 43a9be5..af00f49 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -2270,25 +2270,29 @@ void* operator new( size_t size )
2270} 2270}
2271 2271
2272void operator delete[]( void* p ) 2272void operator delete[]( void* p )
2273{ 2273{
2274 free( p ); 2274 if ( p )
2275 free( p );
2275} 2276}
2276 2277
2277void operator delete[]( void* p, size_t /*size*/ ) 2278void operator delete[]( void* p, size_t /*size*/ )
2278{ 2279{
2279 free( p ); 2280 if ( p )
2281 free( p );
2280} 2282}
2281 2283
2282 2284
2283void operator delete( void* p ) 2285void operator delete( void* p )
2284{ 2286{
2285 free( p ); 2287 if ( p )
2288 free( p );
2286} 2289}
2287 2290
2288void operator delete( void* p, size_t /*size*/ ) 2291void operator delete( void* p, size_t /*size*/ )
2289{ 2292{
2290 free( p ); 2293 if ( p )
2294 free( p );
2291} 2295}
2292 2296
2293#endif 2297#endif
2294 2298