[vlc-commits] Fix a crash on Mac OS X when mounting volumes
Colin Delacroix
git at videolan.org
Tue Mar 27 16:26:23 CEST 2012
vlc | branch: master | Colin Delacroix <colin at zoy.org> | Tue Mar 27 12:31:32 2012 +0200| [f0cf9397cb828e55a50f17273e1c120f8b1396c7] | committer: Felix Paul Kühne
Fix a crash on Mac OS X when mounting volumes
Hi there
my VLC 2.0.1 has been crashing randomly on OS X 10.7 during Time Machine backups, and it was a thread-safety issue.
Signed-off-by: Felix Paul Kühne <fkuehne at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f0cf9397cb828e55a50f17273e1c120f8b1396c7
---
modules/gui/macosx/open.m | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/modules/gui/macosx/open.m b/modules/gui/macosx/open.m
index 0fc311f..0f00bea 100644
--- a/modules/gui/macosx/open.m
+++ b/modules/gui/macosx/open.m
@@ -844,8 +844,12 @@ static VLCOpen *_o_sharedMainInstance = nil;
returnValue = kVLCMediaBDMVFolder;
else
{
+ // NSFileManager is not thread-safe, don't use defaultManager outside of the main thread
+ NSFileManager * fm = [[NSFileManager alloc] init];
NSArray * topLevelItems;
- topLevelItems = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath: mountPath error: NULL];
+ topLevelItems = [fm subpathsOfDirectoryAtPath: mountPath error: NULL];
+ [fm release];
+
NSUInteger itemCount = [topLevelItems count];
for (int i = 0; i < itemCount; i++) {
if([[topLevelItems objectAtIndex:i] rangeOfString:@"SVCD"].location != NSNotFound) {
More information about the vlc-commits
mailing list