浏览代码

playlist: correctly delete collection objects

(cherry picked from commit bff2b0ec32cee39da026ddee7e7767b552c32681)
Felix Paul Kühne 10 年之前
父节点
当前提交
f2025d686e
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      Sources/VLCPlaylistViewController.m

+ 6 - 1
Sources/VLCPlaylistViewController.m

@@ -320,6 +320,7 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
             for (MLFile *file in iterFiles)
                 [self _deleteMediaObject:file];
         }
+        [[MLMediaLibrary sharedMediaLibrary] removeObject: album];
         // delete all episodes from a show
     } else if ([managedObject isKindOfClass:[MLShow class]]) {
         MLShow *show = managedObject;
@@ -331,6 +332,7 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
             for (MLFile *file in iterFiles)
                 [self _deleteMediaObject:file];
         }
+        [[MLMediaLibrary sharedMediaLibrary] removeObject: show];
         // delete all files from an episode
     } else if ([managedObject isKindOfClass:[MLShowEpisode class]]) {
         MLShowEpisode *episode = managedObject;
@@ -339,6 +341,7 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
         for (MLFile *file in iterFiles)
             [self _deleteMediaObject:file];
         // delete all files from a track
+        [[MLMediaLibrary sharedMediaLibrary] removeObject: episode];
     } else if ([managedObject isKindOfClass:[MLAlbumTrack class]]) {
         MLAlbumTrack *track = managedObject;
         NSSet *iterFiles = [NSSet setWithSet:track.files];
@@ -1000,11 +1003,13 @@ static NSString *kUsingTableViewToShowData = @"UsingTableViewToShowData";
             NSNumber *folderTrackNumber = [NSNumber numberWithInt:(int)[label files].count - 1];
             file.folderTrackNumber = folderTrackNumber;
 
+            id item;
             @synchronized(self) {
                 [_foundMedia removeObjectAtIndex:folderIndex];
                 [_foundMedia insertObject:label atIndex:folderIndex];
+
+                item = _foundMedia[((NSIndexPath *)_indexPaths[0]).item];
             }
-            id item = _foundMedia[((NSIndexPath *)_indexPaths[0]).item];
             if (![item isKindOfClass:[MLFile class]])
                 return;