[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