Fixes for dealloc when init has not been called.

This commit is contained in:
rfm 2024-11-17 16:41:59 +00:00
parent 65b9b55e01
commit 6a723e5a87
5 changed files with 15 additions and 12 deletions

View file

@ -8440,7 +8440,7 @@ GS_PRIVATE_INTERNAL(GSMimeSMTPClient)
- (void) dealloc - (void) dealloc
{ {
[self abort]; [self abort];
if (internal != nil) if (GS_EXISTS_INTERNAL)
{ {
DESTROY(internal->reply); DESTROY(internal->reply);
DESTROY(internal->wdata); DESTROY(internal->wdata);

View file

@ -857,7 +857,7 @@ static NSLock *cached_proxies_gate = nil;
if (debug_connection) if (debug_connection)
NSLog(@"deallocating %@", self); NSLog(@"deallocating %@", self);
[self finalize]; [self finalize];
if (internal != nil) if (GS_EXISTS_INTERNAL)
{ {
GS_DESTROY_INTERNAL(NSConnection); GS_DESTROY_INTERNAL(NSConnection);
} }

View file

@ -155,7 +155,7 @@ static NSDateFormatterBehavior _defaultBehavior = 0;
- (void) dealloc - (void) dealloc
{ {
RELEASE(_dateFormat); RELEASE(_dateFormat);
if (internal != 0) if (GS_EXISTS_INTERNAL)
{ {
RELEASE(internal->_locale); RELEASE(internal->_locale);
RELEASE(internal->_tz); RELEASE(internal->_tz);

View file

@ -559,7 +559,7 @@ static NSUInteger _defaultBehavior = NSNumberFormatterBehavior10_4;
RELEASE(_attributedStringForNil); RELEASE(_attributedStringForNil);
RELEASE(_attributedStringForNotANumber); RELEASE(_attributedStringForNotANumber);
RELEASE(_attributedStringForZero); RELEASE(_attributedStringForZero);
if (internal != 0) if (GS_EXISTS_INTERNAL)
{ {
int idx; int idx;

View file

@ -193,7 +193,7 @@ static void *queuePriorityCtxt = (void*)"queuePriority";
{ {
/* Only clean up if ivars have been initialised /* Only clean up if ivars have been initialised
*/ */
if (internal && internal->lock) if (GS_EXISTS_INTERNAL)
{ {
NSOperation *op; NSOperation *op;
@ -800,6 +800,8 @@ static NSOperationQueue *mainQueue = nil;
- (void) dealloc - (void) dealloc
{ {
[self cancelAllOperations]; [self cancelAllOperations];
if (GS_EXISTS_INTERNAL)
{
DESTROY(internal->operations); DESTROY(internal->operations);
DESTROY(internal->starting); DESTROY(internal->starting);
DESTROY(internal->waiting); DESTROY(internal->waiting);
@ -807,6 +809,7 @@ static NSOperationQueue *mainQueue = nil;
DESTROY(internal->cond); DESTROY(internal->cond);
DESTROY(internal->lock); DESTROY(internal->lock);
GS_DESTROY_INTERNAL(NSOperationQueue); GS_DESTROY_INTERNAL(NSOperationQueue);
}
[super dealloc]; [super dealloc];
} }