]> git.sesse.net Git - vlc/commitdiff
* updated all files to yield the playlist instead of finding it
authorFelix Paul Kühne <fkuehne@videolan.org>
Sun, 17 Sep 2006 18:41:21 +0000 (18:41 +0000)
committerFelix Paul Kühne <fkuehne@videolan.org>
Sun, 17 Sep 2006 18:41:21 +0000 (18:41 +0000)
modules/gui/macosx/controls.m
modules/gui/macosx/embeddedwindow.m
modules/gui/macosx/extended.m
modules/gui/macosx/intf.m
modules/gui/macosx/playlist.m
modules/gui/macosx/playlistinfo.m
modules/gui/macosx/wizard.m

index b5cf1dfc3c51a94ae01102c960464abf6e9ccbaf..1e1627d60ac86aa66ee34fa1ebe6d2664dfee31e 100644 (file)
 {
     vlc_value_t val;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                        FIND_ANYWHERE );
-    if( p_playlist )
-    {
-        vlc_mutex_lock( &p_playlist->object_lock );
-        if( p_playlist->i_size <= 0 )
-        {
-            vlc_mutex_unlock( &p_playlist->object_lock );
-            vlc_object_release( p_playlist );
-            [o_main intfOpenFileGeneric: (id)sender];
-        }
-        else
-        {
-            vlc_mutex_unlock( &p_playlist->object_lock );
-            vlc_object_release( p_playlist );
-        }
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
+    vlc_mutex_lock( &p_playlist->object_lock );
+    if( p_playlist->i_size <= 0 )
+    {
+        vlc_mutex_unlock( &p_playlist->object_lock );
+        vlc_object_release( p_playlist );
+        [o_main intfOpenFileGeneric: (id)sender];
+    }
+    else
+    {
+        vlc_mutex_unlock( &p_playlist->object_lock );
+        vlc_object_release( p_playlist );
     }
+
     val.i_int = config_GetInt( p_intf, "key-play-pause" );
     var_Set( p_intf->p_libvlc, "key-pressed", val );
 }
 {
     vlc_value_t val;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
     var_Get( p_playlist, "random", &val );
     val.b_bool = !val.b_bool;
 {
     vlc_value_t val;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
     var_Get( p_playlist, "repeat", &val );
     if (!val.b_bool)
 {
     vlc_value_t val;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
     var_Get( p_playlist, "loop", &val );
     if (!val.b_bool)
     }
     else
     {
-        playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                              FIND_ANYWHERE );
+        playlist_t * p_playlist = pl_Yield( VLCIntf );
 
-        if( p_playlist && ( [o_title isEqualToString: _NS("Fullscreen")] ||
-            [sender isKindOfClass:[NSButton class]] ) )
+        if( [o_title isEqualToString: _NS("Fullscreen")] ||
+            [sender isKindOfClass:[NSButton class]] )
         {
             vlc_value_t val;
             var_Get( p_playlist, "fullscreen", &val );
             var_Set( p_playlist, "fullscreen", (vlc_value_t)!val.b_bool );
         }
-        if( p_playlist ) vlc_object_release( (vlc_object_t *)p_playlist );
+
+        vlc_object_release( p_playlist );
     }
 
 }
     BOOL bEnabled = TRUE;
     vlc_value_t val;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist != NULL )
-    {
-        vlc_mutex_lock( &p_playlist->object_lock );
-    }
-    else return FALSE;
+    vlc_mutex_lock( &p_playlist->object_lock );
 
 #define p_input p_playlist->p_input
 
index eb28ac833ff0dc017a74909878ebbd7a07037fd7..53553025eeb6b3da9db41f6b6fdb105cb3fafd62 100644 (file)
 
 - (BOOL)windowShouldClose:(id)sender
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return NO;
-    }
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
 
     playlist_Stop( p_playlist );
     vlc_object_release( p_playlist );
index 545277f61cea31920dca92a150a5321d7967a0f6..e8247825be1fc71bcb06d21016a9d1cd219c1726 100644 (file)
@@ -369,8 +369,7 @@ static VLCExtended *_o_sharedInstance = nil;
     id o_window = [NSApp keyWindow];
     NSArray *o_windows = [NSApp orderedWindows];
     NSEnumerator *o_enumerator = [o_windows objectEnumerator];
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-        FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     vout_thread_t *p_vout = vlc_object_find( VLCIntf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
     vout_thread_t *p_real_vout;
 
@@ -848,8 +847,7 @@ static VLCExtended *_o_sharedInstance = nil;
 {    
     /* save the preferences to make sure that our module-changes will up on
      * next launch again */
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-        FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     int returnedValue;
     NSArray * theModules;
     theModules = [[NSArray alloc] initWithObjects: @"main", @"headphone",
index 3a114fa6863e8fb5301f12aebdaf09e949ddfec1..ed4d5cb53fdf73480041b5c0d5f48b8ad030d3ff 100644 (file)
@@ -456,25 +456,22 @@ static VLCMain *_o_sharedMainInstance = nil;
 
     o_size_with_playlist = [o_window frame].size;
 
-    p_playlist = (playlist_t *) vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
+    p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist )
+    /* Check if we need to start playing */
+    if( p_intf->b_play )
     {
-        /* Check if we need to start playing */
-        if( p_intf->b_play )
-        {
-            playlist_LockControl( p_playlist, PLAYLIST_AUTOPLAY );
-        }
-        var_Create( p_playlist, "fullscreen", VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
-        val.b_bool = VLC_FALSE;
+        playlist_LockControl( p_playlist, PLAYLIST_AUTOPLAY );
+    }
+    var_Create( p_playlist, "fullscreen", VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
+    val.b_bool = VLC_FALSE;
 
-        var_AddCallback( p_playlist, "fullscreen", FullscreenChanged, self);
-        var_AddCallback( p_playlist, "intf-show", ShowController, self);
+    var_AddCallback( p_playlist, "fullscreen", FullscreenChanged, self);
+    var_AddCallback( p_playlist, "intf-show", ShowController, self);
 
-        [o_embedded_window setFullscreen: var_GetBool( p_playlist,
-                                                            "fullscreen" )];
-        vlc_object_release( p_playlist );
-    }
+    [o_embedded_window setFullscreen: var_GetBool( p_playlist,
+                                                        "fullscreen" )];
+    vlc_object_release( p_playlist );
     
     var_Create( p_intf, "interaction", VLC_VAR_ADDRESS );
     var_AddCallback( p_intf, "interaction", InteractCallback, self );
@@ -741,7 +738,7 @@ static VLCMain *_o_sharedMainInstance = nil;
         case kRemoteButtonVolume_Plus:
             /* there are two events when the plus or minus button is pressed
                one when the button is pressed down and one when the button is released */
-            if (pressedDown)
+            if( pressedDown )
             {
                 [o_controls volumeUp: self];
             }
@@ -749,7 +746,8 @@ static VLCMain *_o_sharedMainInstance = nil;
         case kRemoteButtonVolume_Minus:
             /* there are two events when the plus or minus button is pressed
                one when the button is pressed down and one when the button is released */
-            if (pressedDown) {
+            if( pressedDown )
+            {
                 [o_controls volumeDown: self];
             }
             break;
@@ -763,7 +761,8 @@ static VLCMain *_o_sharedMainInstance = nil;
         case kRemoteButtonLeft_Hold:
             /* simulate an event as long as the user holds the button */
             b_left_right_remote_button_hold = pressedDown;
-            if (pressedDown) {                
+            if( pressedDown )
+            {                
                 NSNumber* buttonIdentifierNumber = [NSNumber numberWithInt: buttonIdentifier]; 
                 [self performSelector:@selector(triggerMovieStepForRemoteButton:) 
                            withObject:buttonIdentifierNumber];
@@ -917,11 +916,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (id)getPlaylist
 {
-    if ( o_playlist )
-    {
-        return o_playlist;
-    }
-    return nil;
+    return o_playlist;
 }
 
 - (id)getInfo
@@ -999,19 +994,15 @@ static VLCMain *_o_sharedMainInstance = nil;
 
     vlc_thread_set_priority( p_intf, VLC_THREAD_PRIORITY_LOW );
 
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                              FIND_ANYWHERE );
+    p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist != NULL )
-    {
-        var_AddCallback( p_playlist, "intf-change", PlaylistChanged, self );
-        var_AddCallback( p_playlist, "item-change", PlaylistChanged, self );
-        var_AddCallback( p_playlist, "item-append", PlaylistChanged, self );
-        var_AddCallback( p_playlist, "item-deleted", PlaylistChanged, self );
-        var_AddCallback( p_playlist, "playlist-current", PlaylistChanged, self );
+    var_AddCallback( p_playlist, "intf-change", PlaylistChanged, self );
+    var_AddCallback( p_playlist, "item-change", PlaylistChanged, self );
+    var_AddCallback( p_playlist, "item-append", PlaylistChanged, self );
+    var_AddCallback( p_playlist, "item-deleted", PlaylistChanged, self );
+    var_AddCallback( p_playlist, "playlist-current", PlaylistChanged, self );
 
-        vlc_object_release( p_playlist );
-    }
+    vlc_object_release( p_playlist );
 
     while( !p_intf->b_die )
     {
@@ -1073,8 +1064,7 @@ static VLCMain *_o_sharedMainInstance = nil;
         vlc_bool_t b_seekable = VLC_FALSE;
         vlc_bool_t b_chapters = VLC_FALSE;
 
-        playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                   FIND_ANYWHERE );
+        playlist_t * p_playlist = pl_Yield( p_intf );
         b_plmul = p_playlist->i_size > 1;
 
         vlc_object_release( p_playlist );
@@ -1122,8 +1112,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
     if( p_intf->p_sys->b_fullscreen_update )
     {
-        playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                   FIND_ANYWHERE );
+        playlist_t * p_playlist = pl_Yield( p_intf );
         var_Get( p_playlist, "fullscreen", &val );
         [o_embedded_window setFullscreen: val.b_bool];
         vlc_object_release( p_playlist );
@@ -1146,11 +1135,11 @@ static VLCMain *_o_sharedMainInstance = nil;
         {
             NSString *o_temp;
             vout_thread_t *p_vout;
-            playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+            playlist_t * p_playlist = pl_Yield( p_intf );
 
-            if( p_playlist == NULL || p_playlist->status.p_item == NULL )
+            if( p_playlist->status.p_item == NULL )
             {
+                vlc_object_release( p_playlist );
                 return;
             }
             o_temp = [NSString stringWithUTF8String:
@@ -1344,12 +1333,8 @@ static VLCMain *_o_sharedMainInstance = nil;
     if( p_intf->p_sys->p_input && !p_intf->p_sys->p_input->b_die )
     {
         NSString *o_temp;
-        playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                   FIND_ANYWHERE );
-        if( p_playlist == NULL )
-        {
-            return;
-        }
+        playlist_t * p_playlist = pl_Yield( p_intf );
+
         o_temp = [NSString stringWithUTF8String:
                   p_playlist->status.p_item->p_input->psz_name];
         if( o_temp == NULL )
@@ -1536,12 +1521,9 @@ static VLCMain *_o_sharedMainInstance = nil;
 #undef p_input
 
     /* Stop playback */
-    if( ( p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                        FIND_ANYWHERE ) ) )
-    {
-        playlist_Stop( p_playlist );
-        vlc_object_release( p_playlist );
-    }
+    p_playlist = pl_Yield( p_intf );
+    playlist_Stop( p_playlist );
+    vlc_object_release( p_playlist );
 
     /* FIXME - Wait here until all vouts are terminated because
        libvlc's VLC_CleanUp destroys interfaces before vouts, which isn't
@@ -1647,7 +1629,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)intfOpenFile:(id)sender
 {
-    if (!nib_open_loaded)
+    if ( !nib_open_loaded )
     {
         nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
         [o_open awakeFromNib];
@@ -1659,7 +1641,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)intfOpenFileGeneric:(id)sender
 {
-    if (!nib_open_loaded)
+    if ( !nib_open_loaded )
     {
         nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
         [o_open awakeFromNib];
@@ -1671,7 +1653,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)intfOpenDisc:(id)sender
 {
-    if (!nib_open_loaded)
+    if ( !nib_open_loaded )
     {
         nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
         [o_open awakeFromNib];
@@ -1683,7 +1665,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)intfOpenNet:(id)sender
 {
-    if (!nib_open_loaded)
+    if ( !nib_open_loaded )
     {
         nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
         [o_open awakeFromNib];
@@ -1695,7 +1677,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)showWizard:(id)sender
 {
-    if (!nib_wizard_loaded)
+    if ( !nib_wizard_loaded )
     {
         nib_wizard_loaded = [NSBundle loadNibNamed:@"Wizard" owner:self];
         [o_wizard initStrings];
@@ -1713,7 +1695,7 @@ static VLCMain *_o_sharedMainInstance = nil;
     {
         o_extended = [[VLCExtended alloc] init];
     }
-    if (!nib_extended_loaded)
+    if ( !nib_extended_loaded )
     {
         nib_extended_loaded = [NSBundle loadNibNamed:@"Extended" owner:self];
         [o_extended initStrings];
@@ -1729,7 +1711,7 @@ static VLCMain *_o_sharedMainInstance = nil;
     {
         o_sfilters = [[VLCsFilters alloc] init];
     }
-    if (!nib_sfilters_loaded)
+    if ( !nib_sfilters_loaded )
     {
         nib_sfilters_loaded = [NSBundle loadNibNamed:@"SFilters" owner:self];
         [o_sfilters initStrings];
@@ -1742,13 +1724,13 @@ static VLCMain *_o_sharedMainInstance = nil;
 - (IBAction)showBookmarks:(id)sender
 {
     /* we need the wizard-nib for the bookmarks's extract functionality */
-    if (!nib_wizard_loaded)
+    if ( !nib_wizard_loaded )
     {
         nib_wizard_loaded = [NSBundle loadNibNamed:@"Wizard" owner:self];
         [o_wizard initStrings];
     }
     
-    if (!nib_bookmarks_loaded)
+    if ( !nib_bookmarks_loaded )
     {
         nib_bookmarks_loaded = [NSBundle loadNibNamed:@"Bookmarks" owner:self];
         [o_bookmarks showBookmarks];
@@ -1759,7 +1741,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)viewAbout:(id)sender
 {
-    if (!nib_about_loaded)
+    if ( !nib_about_loaded )
     {
         nib_about_loaded = [NSBundle loadNibNamed:@"About" owner:self];
         [o_about showPanel];
@@ -1778,7 +1760,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
 - (IBAction)checkForUpdate:(id)sender
 {
-    if (!nib_update_loaded)
+    if ( !nib_update_loaded )
     {
         nib_update_loaded = [NSBundle loadNibNamed:@"Update" owner:self];
         [o_update showUpdateWindow];
index cfebbe8c3a4c31e874333f387b0251878deaf59e..a7af30c95840580ee4c3b8452d996cbebc50aa3e 100644 (file)
 }
 - (void)awakeFromNib
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     [o_outline_view setTarget: self];
     [o_outline_view setDelegate: self];
     [o_outline_view setDataSource: self];
 {
     int i_return = 0;
     playlist_item_t *p_item = NULL;
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-        return 0;
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     if( outlineView != o_outline_view )
     {
         vlc_object_release( p_playlist );
@@ -185,11 +181,7 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
 {
     playlist_item_t *p_return = NULL, *p_item = NULL;
     NSValue *o_value;
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-
-    if( p_playlist == NULL )
-        return nil;
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
 
     if( item == nil )
     {
@@ -206,11 +198,13 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
     vlc_object_release( p_playlist );
 
     o_value = [o_outline_dict objectForKey:[NSString stringWithFormat: @"%p", p_return]];
+    #if 0
     NSLog( @"%s", p_return->p_input->psz_name);
+    #endif
     if( o_value == nil )
     {
         o_value = [[NSValue valueWithPointer: p_return] retain];
-        NSLog( @"error missing value" );
+        msg_Err( VLCIntf, @"missing playlist item's pointer value" );
     }
     return o_value;
 }
@@ -219,10 +213,7 @@ NSLog( @"%d children for %s", i_return, p_item->p_input->psz_name );
 - (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item
 {
     int i_return = 0;
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-        return NO;
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
 
     if( item == nil )
     {
@@ -252,16 +243,10 @@ NSLog( @"expandable" );
 {
     id o_value = nil;
     intf_thread_t *p_intf = VLCIntf;
-    playlist_t *p_playlist;
     playlist_item_t *p_item;
     
     if( item == nil || ![item isKindOfClass: [NSValue class]] ) return( @"error" );
     
-    /* Check to see if the playlist is present */
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL ) return( @"error");
-    vlc_object_release( p_playlist);
-    
     p_item = (playlist_item_t *)[item pointerValue];
     if( p_item == NULL )
     {
@@ -354,8 +339,7 @@ NSLog( @"expandable" );
 
 - (void)awakeFromNib
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     vlc_list_t *p_list = vlc_list_find( p_playlist, VLC_OBJECT_MODULE,
                                         FIND_ANYWHERE );
 
@@ -478,10 +462,7 @@ NSLog( @"expandable" );
     [[[[VLCMain sharedInstance] getWizard] getPlaylistWizard] reloadOutlineView];
     [[[[VLCMain sharedInstance] getBookmarks] getDataTable] reloadData];
 
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
-    if(! p_playlist )
-        return;
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
 
     if( p_playlist->i_size >= 2 )
     {
@@ -504,15 +485,9 @@ NSLog( @"expandable" );
 
 - (void)playModeUpdated
 {
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
     vlc_value_t val, val2;
 
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
     var_Get( p_playlist, "loop", &val2 );
     var_Get( p_playlist, "repeat", &val );
     if( val.b_bool == VLC_TRUE )
@@ -539,14 +514,10 @@ NSLog( @"expandable" );
     int i_row;
     unsigned int j;
 
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
     playlist_item_t *p_item, *p_temp_item;
     NSMutableArray *o_array = [NSMutableArray array];
 
-    if( p_playlist == NULL )
-        return;
-
     p_item = p_playlist->status.p_item;
     if( p_item == NULL )
     {
@@ -587,7 +558,7 @@ NSLog( @"expandable" );
     [o_outline_view selectRow: i_row byExtendingSelection: NO];
     [o_outline_view scrollRowToVisible: i_row];
 
-    vlc_object_release(p_playlist);
+    vlc_object_release( p_playlist );
 
     /* update our info-panel to reflect the new item */
     [[[VLCMain sharedInstance] getInfo] updatePanel];
@@ -602,15 +573,9 @@ NSLog( @"expandable" );
                     checkItemExistence:(BOOL)b_check
 
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     playlist_item_t *p_temp_item = p_item;
 
-    if( p_playlist == NULL )
-    {
-        return NO;
-    }
-
     if( p_node == p_item )
     {
         vlc_object_release(p_playlist);
@@ -693,8 +658,7 @@ NSLog( @"expandable" );
 - (IBAction)savePlaylist:(id)sender
 {
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
     NSSavePanel *o_save_panel = [NSSavePanel savePanel];
     NSString * o_name = [NSString stringWithFormat: @"%@", _NS("Untitled")];
@@ -757,39 +721,35 @@ NSLog( @"expandable" );
 - (IBAction)playItem:(id)sender
 {
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist != NULL )
-    {
-        playlist_item_t *p_item;
-        playlist_item_t *p_node = NULL;
+    playlist_item_t *p_item;
+    playlist_item_t *p_node = NULL;
 
-        p_item = [[o_outline_view itemAtRow:[o_outline_view selectedRow]] pointerValue];
+    p_item = [[o_outline_view itemAtRow:[o_outline_view selectedRow]] pointerValue];
 
-        if( p_item )
+    if( p_item )
+    {
+        if( p_item->i_children == -1 )
         {
-            if( p_item->i_children == -1 )
-            {
-                p_node = p_item->p_parent;
+            p_node = p_item->p_parent;
 
+        }
+        else
+        {
+            p_node = p_item;
+            if( p_node->i_children > 0 && p_node->pp_children[0]->i_children == -1 )
+            {
+                p_item = p_node->pp_children[0];
             }
             else
             {
-                p_node = p_item;
-                if( p_node->i_children > 0 && p_node->pp_children[0]->i_children == -1 )
-                {
-                    p_item = p_node->pp_children[0];
-                }
-                else
-                {
-                    p_item = NULL;
-                }
+                p_item = NULL;
             }
-            playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, p_node, p_item );
         }
-        vlc_object_release( p_playlist );
+        playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, p_node, p_item );
     }
+    vlc_object_release( p_playlist );
 }
 
 /* When called retrieves the selected outlineview row and plays that node or item */
@@ -798,40 +758,36 @@ NSLog( @"expandable" );
     int i_count;
     NSMutableArray *o_to_preparse;
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
                                                        
     o_to_preparse = [NSMutableArray arrayWithArray:[[o_outline_view selectedRowEnumerator] allObjects]];
     i_count = [o_to_preparse count];
 
-    if( p_playlist != NULL )
+    int i, i_row;
+    NSNumber *o_number;
+    playlist_item_t *p_item = NULL;
+
+    for( i = 0; i < i_count; i++ )
     {
-        int i, i_row;
-        NSNumber *o_number;
-        playlist_item_t *p_item = NULL;
+        o_number = [o_to_preparse lastObject];
+        i_row = [o_number intValue];
+        p_item = [[o_outline_view itemAtRow:i_row] pointerValue];
+        [o_to_preparse removeObject: o_number];
+        [o_outline_view deselectRow: i_row];
 
-        for( i = 0; i < i_count; i++ )
+        if( p_item )
         {
-            o_number = [o_to_preparse lastObject];
-            i_row = [o_number intValue];
-            p_item = [[o_outline_view itemAtRow:i_row] pointerValue];
-            [o_to_preparse removeObject: o_number];
-            [o_outline_view deselectRow: i_row];
-
-            if( p_item )
+            if( p_item->i_children == -1 )
             {
-                if( p_item->i_children == -1 )
-                {
-                    playlist_PreparseEnqueue( p_playlist, p_item->p_input );
-                }
-                else
-                {
-                    msg_Dbg( p_intf, "preparse of nodes not yet implemented" );
-                }
+                playlist_PreparseEnqueue( p_playlist, p_item->p_input );
+            }
+            else
+            {
+                msg_Dbg( p_intf, "preparse of nodes not yet implemented" );
             }
         }
-        vlc_object_release( p_playlist );
     }
+    vlc_object_release( p_playlist );
     [self playlistUpdated];
 }
 
@@ -839,8 +795,7 @@ NSLog( @"expandable" );
 {
     NSMenuItem *o_mi = (NSMenuItem *)sender;
     NSString *o_string = [o_mi representedObject];
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     if( !playlist_IsServicesDiscoveryLoaded( p_playlist, [o_string cString] ) )
         playlist_ServicesDiscoveryAdd( p_playlist, [o_string cString] );
     else
@@ -868,13 +823,8 @@ NSLog( @"expandable" );
     playlist_t * p_playlist;
     intf_thread_t * p_intf = VLCIntf;
 
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    p_playlist = pl_Yield( p_intf );
 
-    if ( p_playlist == NULL )
-    {
-        return;
-    }
     o_to_delete = [NSMutableArray arrayWithArray:[[o_outline_view selectedRowEnumerator] allObjects]];
     i_count = [o_to_delete count];
 
@@ -924,15 +874,9 @@ NSLog( @"expandable" );
 
 - (void)sortNode:(int)i_mode
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     playlist_item_t * p_item;
 
-    if (p_playlist == NULL)
-    {
-        return;
-    }
-
     if( [o_outline_view selectedRow] > -1 )
     {
         p_item = [[o_outline_view itemAtRow: [o_outline_view selectedRow]]
@@ -964,13 +908,8 @@ NSLog( @"expandable" );
 - (input_item_t *)createItem:(NSDictionary *)o_one_item
 {
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist == NULL )
-    {
-        return NULL;
-    }
     input_item_t *p_input;
     int i;
     BOOL b_rem = FALSE, b_dir = FALSE;
@@ -1056,12 +995,7 @@ NSLog( @"expandable" );
 - (void)appendArray:(NSArray*)o_array atPos:(int)i_position enqueue:(BOOL)b_enqueue
 {
     int i_item;
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                            FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
 
     for( i_item = 0; i_item < (int)[o_array count]; i_item++ )
     {
@@ -1100,12 +1034,7 @@ NSLog( @"expandable" );
 - (void)appendNodeArray:(NSArray*)o_array inNode:(playlist_item_t *)p_node atPos:(int)i_position enqueue:(BOOL)b_enqueue
 {
     int i_item;
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                            FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
 
     for( i_item = 0; i_item < (int)[o_array count]; i_item++ )
     {
@@ -1149,12 +1078,7 @@ NSLog( @"expandable" );
 {
     intf_thread_t * p_intf = VLCIntf;
     vlc_value_t val1,val2;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                            FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t * p_playlist = pl_Yield( p_intf );
 
     switch( [o_loop_popup indexOfSelectedItem] )
     {
@@ -1193,14 +1117,10 @@ NSLog( @"expandable" );
 
 - (NSMutableArray *)subSearchItem:(playlist_item_t *)p_item
 {
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
     playlist_item_t *p_selected_item;
     int i_current, i_selected_row;
 
-    if( !p_playlist )
-        return NULL;
-
     i_selected_row = [o_outline_view selectedRow];
     if (i_selected_row < 0)
         i_selected_row = 0;
@@ -1264,8 +1184,7 @@ NSLog( @"expandable" );
 
 - (IBAction)searchItem:(id)sender
 {
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     id o_result;
 
     unsigned int i;
@@ -1273,9 +1192,6 @@ NSLog( @"expandable" );
 
     b_selected_item_met = NO;
 
-    if( p_playlist == NULL )
-        return;
-
         /*First, only search after the selected item:*
          *(b_selected_item_met = NO)                 */
     o_result = [self subSearchItem:p_playlist->p_root_category];
@@ -1360,12 +1276,7 @@ NSLog( @"expandable" );
     int i_mode = 0, i_type;
     intf_thread_t *p_intf = VLCIntf;
 
-    playlist_t *p_playlist = (playlist_t *)vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
+    playlist_t *p_playlist = pl_Yield( p_intf );
 
     /* Check whether the selected table column header corresponds to a
        sortable table column*/
@@ -1430,13 +1341,10 @@ NSLog( @"expandable" );
                                 forTableColumn:(NSTableColumn *)tableColumn
                                 item:(id)item
 {
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
 
     id o_playing_item;
 
-    if( !p_playlist ) return;
-
     o_playing_item = [o_outline_dict objectForKey:
                 [NSString stringWithFormat:@"%p",  p_playlist->status.p_item]];
 
@@ -1468,15 +1376,9 @@ NSLog( @"expandable" );
     NSAutoreleasePool * ourPool = [[NSAutoreleasePool alloc] init];
 
     /* simply adds a new node to the end of the playlist */
-    playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( VLCIntf );
     vlc_thread_set_priority( p_playlist, VLC_THREAD_PRIORITY_LOW );
 
-    if( !p_playlist )
-    {
-        return;
-    }
-
     int ret_v;
     char *psz_name = NULL;
     playlist_item_t * p_item;
@@ -1503,10 +1405,10 @@ NSLog( @"expandable" );
 - (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(id)item
 {
     id o_value = [super outlineView: outlineView child: index ofItem: item];
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                               FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
 
-    if( !p_playlist ) return nil;
+    /* FIXME: playlist->i_size doesn't provide the correct number of items anymore
+     * check the playlist API for the fixed function, once zorglub implemented it -- fpk, 9/17/06 */
 
     if( p_playlist->i_size >= 2 )
     {
@@ -1528,7 +1430,7 @@ NSLog( @"expandable" );
 
     [o_outline_dict setObject:o_value forKey:[NSString stringWithFormat:@"%p",
                                                     [o_value pointerValue]]];
-NSLog( @"add item %p", [o_value pointerValue] );
+    msg_Dbg( VLCIntf, "adding item %p", [o_value pointerValue] );
     return o_value;
 
 }
@@ -1537,16 +1439,13 @@ NSLog( @"add item %p", [o_value pointerValue] );
 - (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pboard
 {
     unsigned int i;
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                               FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
 
     /* First remove the items that were moved during the last drag & drop
        operation */
     [o_items_array removeAllObjects];
     [o_nodes_array removeAllObjects];
 
-    if( !p_playlist ) return NO;
-
     for( i = 0 ; i < [items count] ; i++ )
     {
         id o_item = [items objectAtIndex: i];
@@ -1584,8 +1483,7 @@ NSLog( @"add item %p", [o_value pointerValue] );
 
 - (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id <NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(int)index
 {
-    playlist_t *p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                               FIND_ANYWHERE );
+    playlist_t *p_playlist = pl_Yield( VLCIntf );
     NSPasteboard *o_pasteboard = [info draggingPasteboard];
 
     if( !p_playlist ) return NSDragOperationNone;
@@ -1626,28 +1524,25 @@ NSLog( @"add item %p", [o_value pointerValue] );
                 return NSDragOperationNone;
             }
         }
-        vlc_object_release(p_playlist);
+        vlc_object_release( p_playlist );
         return NSDragOperationMove;
     }
 
     /* Drop from the Finder */
     else if( [[o_pasteboard types] containsObject: NSFilenamesPboardType] )
     {
-        vlc_object_release(p_playlist);
+        vlc_object_release( p_playlist );
         return NSDragOperationGeneric;
     }
-    vlc_object_release(p_playlist);
+    vlc_object_release( p_playlist );
     return NSDragOperationNone;
 }
 
 - (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)item childIndex:(int)index
 {
-    playlist_t * p_playlist =  vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
+    playlist_t * p_playlist =  pl_Yield( VLCIntf );
     NSPasteboard *o_pasteboard = [info draggingPasteboard];
 
-    if( !p_playlist ) return NO;
-
     /* Drag & Drop inside the playlist */
     if( [[o_pasteboard types] containsObject: @"VLCPlaylistItemPboardType"] )
     {
@@ -1733,7 +1628,7 @@ NSLog( @"add item %p", [o_value pointerValue] );
         [o_outline_view selectRow: i_row byExtendingSelection: NO];
         [o_outline_view scrollRowToVisible: i_row];
 
-        vlc_object_release(p_playlist);
+        vlc_object_release( p_playlist );
         return YES;
     }
 
index 3b5384e362f117d8e3a83428805280a42d722d2c..79fa529e3d633f45f348f005f2d9274f19a99cb9 100644 (file)
     else
     {
         intf_thread_t * p_intf = VLCIntf;
-        playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
-
-        if( p_playlist )
-        {
-            p_item = p_playlist->status.p_item;
-            vlc_object_release( p_playlist );
-        }
+        playlist_t * p_playlist = pl_Yield( p_intf );
 
+        p_item = p_playlist->status.p_item;
+        vlc_object_release( p_playlist );
+        
         [self initPanel:sender];
     }
 }
 {
     /* make sure that we got the current item and not an outdated one */
     intf_thread_t * p_intf = VLCIntf;
-        playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+        playlist_t * p_playlist = pl_Yield( p_intf );
 
-    if( p_playlist )
-    {
-        p_item = p_playlist->status.p_item;
-        vlc_object_release( p_playlist );
-    }
+    p_item = p_playlist->status.p_item;
+    vlc_object_release( p_playlist );
 
     /* check whether our item is valid, because we would crash if not */
     if(! [self isItemInPlaylist: p_item] ) return;
 - (IBAction)infoOk:(id)sender
 {
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
     vlc_value_t val;
 
     if( [self isItemInPlaylist: p_item] )
 - (BOOL)isItemInPlaylist:(playlist_item_t *)p_local_item
 {
     intf_thread_t * p_intf = VLCIntf;
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                          FIND_ANYWHERE );
+    playlist_t * p_playlist = pl_Yield( p_intf );
     int i;
 
-    if( p_playlist == NULL )
-    {
-        return NO;
-    }
-
     for( i = 0 ; i < p_playlist->i_all_size ; i++ )
     {
         if( p_playlist->pp_all_items[i] == p_local_item )
@@ -430,7 +415,8 @@ static VLCInfoTreeItem *o_root_item = nil;
 }
 
 + (VLCInfoTreeItem *)rootItem {
-    if (o_root_item == nil) o_root_item = [[VLCInfoTreeItem alloc] initWithName:@"main" value: @"" ID: 0 parent:nil];
+    if( o_root_item == nil )
+        o_root_item = [[VLCInfoTreeItem alloc] initWithName:@"main" value: @"" ID: 0 parent:nil];
     return o_root_item;
 }
 
index 8e6c66d07bfdfe66eaa58cf58f4d86f9a323bc3f..f8caf0eef21c74c94c0003c4a66b2ef1fbec2391 100644 (file)
@@ -1277,63 +1277,58 @@ static VLCWizard *_o_sharedInstance = nil;
     {
         intf_thread_t * p_intf = VLCIntf;
 
-        playlist_t * p_playlist = (playlist_t *)vlc_object_find( p_intf,
-                            VLC_OBJECT_PLAYLIST, FIND_ANYWHERE);
-        if( p_playlist )
+        playlist_t * p_playlist = pl_Yield( p_intf );
+
+        int x = 0;
+        int y = [[o_userSelections objectForKey:@"pathToStrm"] count];
+        while( x != y )
         {
-            int x = 0;
-            int y = [[o_userSelections objectForKey:@"pathToStrm"] count];
-            while( x != y )
+            /* we need a temp. variable here to work-around a GCC4-bug */
+            NSString *tempString = [NSString stringWithFormat: \
+                @"%@ (%i/%i)", _NS("Streaming/Transcoding Wizard"), \
+                ( x + 1 ), y];
+            input_item_t *p_input = input_ItemNew( p_playlist, \
+                [[[o_userSelections objectForKey:@"pathToStrm"] \
+                objectAtIndex:x] UTF8String], \
+                [tempString UTF8String] );
+            vlc_input_item_AddOption( p_input, [[[o_userSelections \
+                objectForKey:@"opts"] objectAtIndex: x] UTF8String]);
+
+            if(! [[o_userSelections objectForKey:@"partExtractFrom"] \
+                isEqualToString:@""] )
             {
-                /* we need a temp. variable here to work-around a GCC4-bug */
-                NSString *tempString = [NSString stringWithFormat: \
-                    @"%@ (%i/%i)", _NS("Streaming/Transcoding Wizard"), \
-                    ( x + 1 ), y];
-                input_item_t *p_input = input_ItemNew( p_playlist, \
-                    [[[o_userSelections objectForKey:@"pathToStrm"] \
-                    objectAtIndex:x] UTF8String], \
-                    [tempString UTF8String] );
-                vlc_input_item_AddOption( p_input, [[[o_userSelections \
-                    objectForKey:@"opts"] objectAtIndex: x] UTF8String]);
-
-                if(! [[o_userSelections objectForKey:@"partExtractFrom"] \
-                    isEqualToString:@""] )
-                {
-                    vlc_input_item_AddOption( p_input, [[NSString \
-                        stringWithFormat: @"start-time=%@", [o_userSelections \
-                        objectForKey: @"partExtractFrom"]] UTF8String] );
-                }
-
-                if(! [[o_userSelections objectForKey:@"partExtractTo"] \
-                    isEqualToString:@""] )
-                {
-                    vlc_input_item_AddOption( p_input, [[NSString \
-                        stringWithFormat: @"stop-time=%@", [o_userSelections \
-                        objectForKey: @"partExtractTo"]] UTF8String] );
-                }
+                vlc_input_item_AddOption( p_input, [[NSString \
+                    stringWithFormat: @"start-time=%@", [o_userSelections \
+                    objectForKey: @"partExtractFrom"]] UTF8String] );
+            }
 
-                vlc_input_item_AddOption( p_input, [[NSString stringWithFormat: \
-                    @"ttl=%@", [o_userSelections objectForKey:@"ttl"]] \
-                    UTF8String] );
+            if(! [[o_userSelections objectForKey:@"partExtractTo"] \
+                isEqualToString:@""] )
+            {
+                vlc_input_item_AddOption( p_input, [[NSString \
+                    stringWithFormat: @"stop-time=%@", [o_userSelections \
+                    objectForKey: @"partExtractTo"]] UTF8String] );
+            }
 
-                playlist_PlaylistAddInput( p_playlist, p_input, PLAYLIST_STOP, PLAYLIST_END );
+            vlc_input_item_AddOption( p_input, [[NSString stringWithFormat: \
+                @"ttl=%@", [o_userSelections objectForKey:@"ttl"]] \
+                UTF8String] );
 
-                if( x == 0 )
-                {
-                    /* play the first item and add the others afterwards */
-                    playlist_item_t *p_item = playlist_ItemGetByInput( p_playlist, p_input );
-                    playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, NULL,
-                                     p_item );
-                }
+            playlist_PlaylistAddInput( p_playlist, p_input, PLAYLIST_STOP, PLAYLIST_END );
 
-                x += 1;
+            if( x == 0 )
+            {
+                /* play the first item and add the others afterwards */
+                playlist_item_t *p_item = playlist_ItemGetByInput( p_playlist, p_input );
+                playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, NULL,
+                          p_item );
             }
 
-            vlc_object_release(p_playlist);
-        } else {
-            msg_Err( p_intf, "unable to find playlist" );
+            x += 1;
         }
 
+        vlc_object_release( p_playlist );
+
         /* close the window, since we are done */
         [o_wizard_window close];
     }