|
@@ -49,7 +49,20 @@ void __catch_exception( void * e, const char * function, const char * file, int
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void * DestroySharedLibraryAtExit( void )
|
|
|
+void * CreateSharedLibraryOnStartup( void )
|
|
|
+{
|
|
|
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
|
+
|
|
|
+ /* This library is not loaded for no reason, so let's create
|
|
|
+ * a VLCLibrary instance. */
|
|
|
+ [VLCLibrary sharedLibrary];
|
|
|
+
|
|
|
+ [pool release];
|
|
|
+
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
+void * DestroySharedLibraryAtExit( void )
|
|
|
{
|
|
|
/* Release the global object that may have been alloc-ed
|
|
|
* in -[VLCLibrary init] */
|
|
@@ -66,11 +79,8 @@ static void * DestroySharedLibraryAtExit( void )
|
|
|
{
|
|
|
/* Initialize a shared instance */
|
|
|
sharedLibrary = [[self alloc] init];
|
|
|
-
|
|
|
- /* Make sure, this will get released at some point */
|
|
|
- atexit( (void *)DestroySharedLibraryAtExit );
|
|
|
}
|
|
|
- return [[sharedLibrary retain] autorelease];
|
|
|
+ return sharedLibrary;
|
|
|
}
|
|
|
|
|
|
- (id)init
|