From 6dfe7e790352e3e3ff63cfd8b142a8fc007b496c Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 17 Mar 2013 16:37:02 +0200 Subject: Don't do any own auto-cleanup of aurorelease pools on iOS when a thread ends According to documentation, the system does it automatically. Testing seemed to confirm that, with the code still in I got mysterious crashes. Not sure if the corresponding code is unnecessary or wrong on OS X, too. Change-Id: I14e9f5bcc0376e9235f8d36b484b38c1e44932c4 --- vcl/ios/source/app/saldata.cxx | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) (limited to 'vcl/ios') diff --git a/vcl/ios/source/app/saldata.cxx b/vcl/ios/source/app/saldata.cxx index cc02eca59428..f06b139364a3 100644 --- a/vcl/ios/source/app/saldata.cxx +++ b/vcl/ios/source/app/saldata.cxx @@ -24,12 +24,6 @@ oslThreadKey SalData::s_aAutoReleaseKey = 0; -static void SAL_CALL releasePool( void* pPool ) -{ - if( pPool ) - [(NSAutoreleasePool*)pPool release]; -} - SalData::SalData() : mpTimerProc( NULL ), @@ -46,7 +40,7 @@ SalData::SalData() mnDPIY( 0 ) { if( s_aAutoReleaseKey == 0 ) - s_aAutoReleaseKey = osl_createThreadKey( releasePool ); + s_aAutoReleaseKey = osl_createThreadKey( NULL ); } SalData::~SalData() @@ -55,20 +49,6 @@ SalData::~SalData() CGColorSpaceRelease( mxP50Space ); CGColorSpaceRelease( mxRGBSpace ); CGColorSpaceRelease( mxGraySpace ); - if( s_aAutoReleaseKey ) - { - // release the last pool - NSAutoreleasePool* pPool = nil; - pPool = reinterpret_cast( osl_getThreadKeyData( s_aAutoReleaseKey ) ); - if( pPool ) - { - osl_setThreadKeyData( s_aAutoReleaseKey, NULL ); - [pPool release]; - } - - osl_destroyThreadKey( s_aAutoReleaseKey ); - s_aAutoReleaseKey = 0; - } } void SalData::ensureThreadAutoreleasePool() -- cgit