[vlc-devel] commit: macosx: Do not load resources when the VLC interface is not loaded. (Jean-Paul Saman )

git version control git at videolan.org
Mon Jun 15 14:47:32 CEST 2009


vlc | branch: master | Jean-Paul Saman <jpsaman at videolan.org> | Sun Jun 14 12:02:12 2009 +0200| [25a32169ac374e1a812f4c223390ede3cf8859ee] | committer: Derk-Jan Hartman 

macosx: Do not load resources when the VLC interface is not loaded.
(cherry picked from commit e4b9f90737c4f21c77498c1ff403df5bd9f03c06)

Signed-off-by: Derk-Jan Hartman <hartman at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=25a32169ac374e1a812f4c223390ede3cf8859ee
---

 modules/gui/macosx/intf.m |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index ddc4b1f..c93758f 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -315,6 +315,8 @@ static VLCMain *_o_sharedMainInstance = nil;
     else
         _o_sharedMainInstance = [super init];
 
+    p_intf = NULL;
+
     o_msg_lock = [[NSLock alloc] init];
     o_msg_arr = [[NSMutableArray arrayWithCapacity: 200] retain];
     /* subscribe to LibVLC's debug messages as early as possible (for us) */
@@ -367,7 +369,10 @@ static VLCMain *_o_sharedMainInstance = nil;
     playlist_t *p_playlist;
     vlc_value_t val;
 
-    /* Check if we already did this once. Opening the other nibs calls it too, because VLCMain is the owner */
+    if( !p_intf ) return;
+
+    /* Check if we already did this once. Opening the other nibs calls it too,
+       because VLCMain is the owner */
     if( nib_main_loaded ) return;
 
     /* check whether the user runs a valid version of OS X */
@@ -557,6 +562,8 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (void)applicationWillFinishLaunching:(NSNotification *)o_notification
 {
+    if( !p_intf ) return;
+
     /* FIXME: don't poll */
     interfaceTimer = [[NSTimer scheduledTimerWithTimeInterval: 0.5
                                      target: self selector: @selector(manageIntf:)
@@ -573,6 +580,8 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
 {
+    if( !p_intf ) return;
+
     [self _removeOldPreferences];
 
 #ifdef UPDATE_CHECK
@@ -593,6 +602,8 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (void)initStrings
 {
+    if( !p_intf ) return;
+
     [o_window setTitle: _NS("VLC media player")];
     [self setScrollField:_NS("VLC media player") stopAfter:-1];
 
@@ -764,6 +775,8 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (void)releaseRepresentedObjects:(NSMenu *)the_menu
 {
+    if( !p_intf ) return;
+
     NSArray *menuitems_array = [the_menu itemArray];
     for( int i=0; i<[menuitems_array count]; i++ )
     {
@@ -781,6 +794,8 @@ static VLCMain *_o_sharedMainInstance = nil;
     vout_thread_t * p_vout;
     int returnedValue = 0;
  
+    if( !p_intf ) return;
+
     msg_Dbg( p_intf, "Terminating" );
 
     /* Make sure the manage_thread won't call -terminate: again */
@@ -921,7 +936,6 @@ static NSString * VLCToolbarMediaControl     = @"VLCToolbarMediaControl";
 {
     NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdentifier] autorelease];
 
- 
     if( [itemIdentifier isEqual: VLCToolbarMediaControl] )
     {
         [toolbarItem setLabel:@"Media Controls"];
@@ -1003,12 +1017,14 @@ static NSString * VLCToolbarMediaControl     = @"VLCToolbarMediaControl";
    application */
 - (void)applicationDidBecomeActive:(NSNotification *)aNotification
 {
+    if( !p_intf ) return;
 #ifndef __x86_64__
     [o_remote startListening: self];
 #endif
 }
 - (void)applicationDidResignActive:(NSNotification *)aNotification
 {
+    if( !p_intf ) return;
 #ifndef __x86_64__
     [o_remote stopListening: self];
 #endif
@@ -1018,7 +1034,7 @@ static NSString * VLCToolbarMediaControl     = @"VLCToolbarMediaControl";
 - (void)computerWillSleep: (NSNotification *)notification
 {
     /* Pause */
-    if( p_intf->p_sys->i_play_status == PLAYING_S )
+    if( p_intf && p_intf->p_sys->i_play_status == PLAYING_S )
     {
         var_SetInteger( p_intf->p_libvlc, "key-action", ACTIONID_PLAY_PAUSE );
     }
@@ -1518,11 +1534,11 @@ static void manage_cleanup( void * args )
     id self = manage_cleanup_stack->self;
     playlist_t * p_playlist = manage_cleanup_stack->p_playlist;
 
-    var_AddCallback( p_playlist, "item-current", PlaylistChanged, self );
-    var_AddCallback( p_playlist, "intf-change", PlaylistChanged, self );
-    var_AddCallback( p_playlist, "item-change", PlaylistChanged, self );
-    var_AddCallback( p_playlist, "playlist-item-append", PlaylistChanged, self );
-    var_AddCallback( p_playlist, "playlist-item-deleted", PlaylistChanged, self );
+    var_DelCallback( p_playlist, "item-current", PlaylistChanged, self );
+    var_DelCallback( p_playlist, "intf-change", PlaylistChanged, self );
+    var_DelCallback( p_playlist, "item-change", PlaylistChanged, self );
+    var_DelCallback( p_playlist, "playlist-item-append", PlaylistChanged, self );
+    var_DelCallback( p_playlist, "playlist-item-deleted", PlaylistChanged, self );
 
     pl_Release( p_intf );
 




More information about the vlc-devel mailing list