]> git.sesse.net Git - vlc/commitdiff
wx/playlist.cpp: reintroduced the caching in FindItem, giving unknown speed increases
authorSigmund Augdal Helberg <sigmunau@videolan.org>
Sun, 10 Apr 2005 14:42:39 +0000 (14:42 +0000)
committerSigmund Augdal Helberg <sigmunau@videolan.org>
Sun, 10 Apr 2005 14:42:39 +0000 (14:42 +0000)
modules/gui/wxwindows/playlist.cpp

index c0dc98cd55642253a77d1bebec011fc7a1ab7f87..62b6fd496629617c129b5de583ca89fae07727c7 100644 (file)
@@ -635,6 +635,10 @@ wxTreeItemId Playlist::FindItem( wxTreeItemId root, int i_id )
         wxTreeItemId dummy;
         return dummy;
     }
+    if( i_saved_id == i_id )
+    {
+        return saved_tree_item;
+    }
 
     if( !p_wxcurrent )
     {
@@ -644,6 +648,8 @@ wxTreeItemId Playlist::FindItem( wxTreeItemId root, int i_id )
 
     if( p_wxcurrent->i_id == i_id )
     {
+        i_saved_id = i_id;
+        saved_tree_item = root;
         return root;
     }
 
@@ -652,6 +658,8 @@ wxTreeItemId Playlist::FindItem( wxTreeItemId root, int i_id )
         p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( item );
         if( p_wxcurrent->i_id == i_id )
         {
+            i_saved_id = i_id;
+            saved_tree_item = item;
             return item;
         }
         if( treectrl->ItemHasChildren( item ) )
@@ -659,6 +667,8 @@ wxTreeItemId Playlist::FindItem( wxTreeItemId root, int i_id )
             wxTreeItemId search = FindItem( item, i_id );
             if( search.IsOk() )
             {
+                i_saved_id = i_id;
+                saved_tree_item = search;
                 return search;
             }
         }