diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-06-10 13:21:44 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-06-10 13:21:44 -0500 |
commit | 33e14b0aa37fd7bc47547ec187d4adde826f0da1 (patch) | |
tree | 7fc1e649d0dacfbaad54533bd97e569cfbbe138e /src/tools/qstring.cpp | |
parent | 245c821c1974c8a9bce0f2977ab5f462c87a9cba (diff) | |
download | tqt3-33e14b0aa37fd7bc47547ec187d4adde826f0da1.tar.gz tqt3-33e14b0aa37fd7bc47547ec187d4adde826f0da1.zip |
Automated update from Qt3
Diffstat (limited to 'src/tools/qstring.cpp')
-rw-r--r-- | src/tools/qstring.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 1ea356933..f7b5c233d 100644 --- a/src/tools/qstring.cpp +++ b/src/tools/qstring.cpp @@ -1071,13 +1071,20 @@ TQStringData::TQStringData(TQChar *u, uint l, uint m) : TQShared(), } TQStringData::~TQStringData() { - if ( unicode ) delete[] ((char*)unicode); + if ( unicode ) { + delete[] ((char*)unicode); + } if ( ascii && security_unpaged ) { munlock(ascii, LINUX_MEMLOCK_LIMIT_BYTES); } - if ( ascii ) delete[] ascii; + if ( ascii ) { + delete[] ascii; + } #ifdef QT_THREAD_SUPPORT - if ( mutex ) delete mutex; + if ( mutex ) { + delete mutex; + mutex = NULL; + } #endif // QT_THREAD_SUPPORT } @@ -1675,6 +1682,13 @@ TQString::TQString( TQStringData* dd, bool /* dummy */ ) { TQString::~TQString() { +#if defined(QT_CHECK_RANGE) + if (!d) { + tqWarning( "TQString::~TQString: Double free or delete detected!" ); + return; + } +#endif + #ifdef QT_THREAD_SUPPORT d->mutex->lock(); #endif // QT_THREAD_SUPPORT @@ -1684,6 +1698,7 @@ TQString::~TQString() d->mutex->unlock(); #endif // QT_THREAD_SUPPORT d->deleteSelf(); + d = NULL; } else { #ifdef QT_THREAD_SUPPORT |