]> granicus.if.org Git - handbrake/commitdiff
MacGui: fix audio and subtitles tracks when reloading a job from the queue.
authorDamiano Galassi <damiog@gmail.com>
Tue, 27 Dec 2016 10:42:27 +0000 (11:42 +0100)
committerDamiano Galassi <damiog@gmail.com>
Tue, 27 Dec 2016 12:58:43 +0000 (13:58 +0100)
(cherry picked from commit ec1553108f3881a380904bcc8be7c19a626cb69a)

macosx/HBAudio.m
macosx/HBSubtitles.m

index 20862938c9da75a631ac079cb5283f6a53e07423..1faae116eee4c722abeba20c3a8bdfd78e7b8d58 100644 (file)
@@ -244,16 +244,18 @@ NSString *HBAudioChangedNotification = @"HBAudioChangedNotification";
     if (copy)
     {
         copy->_container = _container;
-        copy->_sourceTracks = [_sourceTracks mutableCopy];
+        copy->_sourceTracks = [_sourceTracks copy];
 
         copy->_tracks = [[NSMutableArray alloc] init];
-        [_tracks enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
-            if (idx < _tracks.count)
-            {
-                id trackCopy = [obj copy];
-                [copy->_tracks addObject:trackCopy];
-            }
-        }];
+
+        for (HBAudioTrack *track in _tracks)
+        {
+            HBAudioTrack *trackCopy = [track copy];
+            [copy->_tracks addObject:trackCopy];
+
+            trackCopy.dataSource = copy;
+            trackCopy.delegate = copy;
+        }
 
         copy->_defaults = [_defaults copy];
     }
index 44113974db6e113918fa3622adeb8556f96e4f6d..549d06647aa6e65a4a32c054497064ec5d5a15ff 100644 (file)
@@ -405,16 +405,18 @@ extern NSString *keySubTrackSrtFileURL;
     if (copy)
     {
         copy->_container = _container;
-        copy->_sourceTracks = [_sourceTracks mutableCopy];
+        copy->_sourceTracks = [_sourceTracks copy];
 
         copy->_tracks = [[NSMutableArray alloc] init];
-        [_tracks enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
-            if (idx < _tracks.count)
-            {
-                id trackCopy = [obj copy];
-                [copy->_tracks addObject:trackCopy];
-            }
-        }];
+
+        for (HBSubtitlesTrack *track in _tracks)
+        {
+            HBSubtitlesTrack *trackCopy = [track copy];
+            [copy->_tracks addObject:trackCopy];
+
+            trackCopy.dataSource = copy;
+            trackCopy.delegate = copy;
+        }
 
         copy->_defaults = [_defaults copy];
     }