From: Pierre d'Herbemont Date: Fri, 14 Dec 2007 15:02:53 +0000 (+0000) Subject: modules/gui/macosx/playlist.m: Don't use p_module directly. X-Git-Tag: 0.9.0-test0~4126 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=d5b0bd60ab7974d30ba05fb7a322662b8d57fd1e;p=vlc modules/gui/macosx/playlist.m: Don't use p_module directly. --- diff --git a/modules/gui/macosx/playlist.m b/modules/gui/macosx/playlist.m index 471e8c5da2..241c9ea24b 100644 --- a/modules/gui/macosx/playlist.m +++ b/modules/gui/macosx/playlist.m @@ -371,10 +371,8 @@ - (void)awakeFromNib { playlist_t * p_playlist = pl_Yield( VLCIntf ); - vlc_list_t *p_list = vlc_list_find( p_playlist, VLC_OBJECT_MODULE, - FIND_ANYWHERE ); - int i_index; + int i; [super awakeFromNib]; @@ -393,49 +391,45 @@ o_tc_sortColumn = nil; - for( i_index = 0; i_index < p_list->i_count; i_index++ ) + char ** ppsz_name; + char ** ppsz_services = services_discovery_GetServicesNames( p_playlist, &ppsz_name ); + + for( i = 0; ppsz_services[i]; i++ ) { vlc_bool_t b_enabled; char *objectname; NSMenuItem *o_lmi; - module_t *p_parser = (module_t *)p_list->p_values[i_index].p_object ; - if( !strcmp( p_parser->psz_capability, "services_discovery" ) ) + if( !strcmp( ppsz_services[i], "services_discovery" ) ) { - /* Check for submodules */ - int i = -1; - while( p_parser->pp_shortcuts[++i] != NULL ); i--; - + char * name = ppsz_name[i] ? ppsz_name[i] : ppsz_services[i]; /* Check whether to enable these menuitems */ - objectname = i>=0 ? (char *)p_parser->pp_shortcuts[i] : (char *)p_parser->psz_object_name; b_enabled = playlist_IsServicesDiscoveryLoaded( p_playlist, objectname ); /* Create the menu entries used in the playlist menu */ o_lmi = [[o_mi_services submenu] addItemWithTitle: - [NSString stringWithUTF8String: - p_parser->psz_longname ? p_parser->psz_longname : - ( p_parser->psz_shortname ? p_parser->psz_shortname: - objectname)] + [NSString stringWithUTF8String: name] action: @selector(servicesChange:) keyEquivalent: @""]; [o_lmi setTarget: self]; - [o_lmi setRepresentedObject: [NSString stringWithCString: objectname]]; + [o_lmi setRepresentedObject: [NSString stringWithCString: ppsz_services[i]]]; if( b_enabled ) [o_lmi setState: NSOnState]; /* Create the menu entries for the main menu */ o_lmi = [[o_mm_mi_services submenu] addItemWithTitle: - [NSString stringWithUTF8String: - p_parser->psz_longname ? p_parser->psz_longname : - ( p_parser->psz_shortname ? p_parser->psz_shortname: - objectname)] + [NSString stringWithUTF8String: name] action: @selector(servicesChange:) keyEquivalent: @""]; [o_lmi setTarget: self]; - [o_lmi setRepresentedObject: [NSString stringWithCString:objectname]]; + [o_lmi setRepresentedObject: [NSString stringWithCString: ppsz_services[i]]]; if( b_enabled ) [o_lmi setState: NSOnState]; } + free( ppsz_services[i] ); + free( ppsz_name[i] ); } - vlc_list_release( p_list ); + free( ppsz_services ); + free( ppsz_name ); + vlc_object_release( p_playlist ); //[self playlistUpdated];