tst_qstring_mac: Correct memory management.

The NSStrings return by QString::toNSString are autoreleased;
manually releasing them is not correct. The test still
works (no leaks or double deletes) since there is no
autorelease pool in place when running it.

We don't want to encourage incorrect usage: remove
the release call an add an autorelease pool.

Change-Id: Ic566fd3a8efd6cbc0eb6db850248a68bfc8fed0b
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
This commit is contained in:
Morten Johan Sørvig 2015-01-13 10:49:07 +01:00 committed by Jani Heikkinen
parent 2603873e75
commit ee1afbb8aa

View File

@ -63,17 +63,23 @@ void tst_QString_macTypes()
}
// QString <-> NSString
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
QString qtString("test string");
const NSString *nsString = qtString.toNSString();
QCOMPARE(QString::fromNSString(nsString), qtString);
[nsString release];
[pool release];
}
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
QString qtString("test string");
const NSString *nsString = qtString.toNSString();
QString qtStringCopy(qtString);
qtString = qtString.toUpper(); // modify
QCOMPARE(QString::fromNSString(nsString), qtStringCopy);
[nsString release];
[pool release];
}
}