[MPlayer-cvslog] r35607 - trunk/gui/interface.c
    ib 
    subversion at mplayerhq.hu
       
    Wed Dec  5 13:26:32 CET 2012
    
    
  
Author: ib
Date: Wed Dec  5 13:26:32 2012
New Revision: 35607
Log:
Revise guiPlaylist() concerning pt_iter.
Remove unnecessary initialization, move pt_iter_create() to the
beginning and return in case of error (which won't unnecessarily
delete an existing playlist) and add missing pt_iter_destroy()
for GUI_PLAYLIST_INIT by moving it to the end.
Modified:
   trunk/gui/interface.c
Modified: trunk/gui/interface.c
==============================================================================
--- trunk/gui/interface.c	Wed Dec  5 13:08:12 2012	(r35606)
+++ trunk/gui/interface.c	Wed Dec  5 13:26:32 2012	(r35607)
@@ -855,10 +855,15 @@ int gui(int what, void *data)
 
 int guiPlaylist(int what, play_tree_t *playtree, m_config_t *config, int enqueue)
 {
-    play_tree_iter_t *pt_iter = NULL;
+    play_tree_iter_t *pt_iter;
     int added = False;
     plItem *curr;
 
+    pt_iter = pt_iter_create(&playtree, config);
+
+    if (!pt_iter)
+        return False;
+
     switch (what) {
 // This function imports the initial playtree (based on cmd-line files)
 // into the gui playlist by either:
@@ -869,12 +874,10 @@ int guiPlaylist(int what, play_tree_t *p
         if (!enqueue)
             listMgr(PLAYLIST_DELETE, 0);             // delete playlist before "appending"
 
-        if ((pt_iter = pt_iter_create(&playtree, config))) {
             while ((filename = pt_iter_get_next_file(pt_iter)) != NULL)
                 /* add it to end of list */
                 if (add_to_gui_playlist(filename, PLAYLIST_ITEM_APPEND))
                     added = True;
-        }
 
         uiCurr();   // update filename
         guiInfo.PlaylistNext = True;
@@ -896,15 +899,11 @@ int guiPlaylist(int what, play_tree_t *p
 
         curr = (plItem *)listMgr(PLAYLIST_ITEM_GET_CURR, 0);
 
-        if ((pt_iter = pt_iter_create(&playtree, config))) {
             while ((filename = pt_iter_get_next_file(pt_iter)) != NULL)
                 /* insert it into the list and set plCurrent=new item */
                 if (add_to_gui_playlist(filename, PLAYLIST_ITEM_INSERT))
                     added = True;
 
-            pt_iter_destroy(&pt_iter);
-        }
-
         if (curr)
             listMgr(PLAYLIST_ITEM_SET_CURR, curr);
         else
@@ -918,6 +917,8 @@ int guiPlaylist(int what, play_tree_t *p
         break;
     }
 
+    pt_iter_destroy(&pt_iter);
+
     return added;
 }
 
    
    
More information about the MPlayer-cvslog
mailing list