From d3ed6bcb51d1bf13be1f035239e085fca3910645 Mon Sep 17 00:00:00 2001 From: Sebastien Zwickert Date: Fri, 18 Jun 2010 00:06:11 +0200 Subject: [PATCH] gui/macosx: set URL instead of path to ITEM_URL. Fixes #3706 Signed-off-by: Jean-Baptiste Kempf --- modules/gui/macosx/intf.m | 10 +++++++++- modules/gui/macosx/open.m | 9 ++++++++- modules/gui/macosx/playlist.m | 12 ++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 6a06c054e9..75652e5d00 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -33,6 +33,7 @@ #include #include #include +#include #include /* execl() */ #import "intf.h" @@ -1044,7 +1045,14 @@ static NSString * VLCToolbarMediaControl = @"VLCToolbarMediaControl"; - (BOOL)application:(NSApplication *)o_app openFile:(NSString *)o_filename { BOOL b_autoplay = config_GetInt( VLCIntf, "macosx-autoplay" ); - NSDictionary *o_dic = [NSDictionary dictionaryWithObjectsAndKeys: o_filename, @"ITEM_URL", nil]; + char *psz_uri = make_URI([o_filename UTF8String]); + if( !psz_uri ) + return( FALSE ); + + NSDictionary *o_dic = [NSDictionary dictionaryWithObject:[NSString stringWithCString:psz_uri encoding:NSUTF8StringEncoding] forKey:@"ITEM_URL"]; + + free( psz_uri ); + if( b_autoplay ) [o_playlist appendArray: [NSArray arrayWithObject: o_dic] atPos: -1 enqueue: NO]; else diff --git a/modules/gui/macosx/open.m b/modules/gui/macosx/open.m index 3460c4e430..025c94f264 100644 --- a/modules/gui/macosx/open.m +++ b/modules/gui/macosx/open.m @@ -963,7 +963,14 @@ static VLCOpen *_o_sharedMainInstance = nil; for( i = 0; i < (int)[o_values count]; i++) { NSDictionary *o_dic; - o_dic = [NSDictionary dictionaryWithObject:[o_values objectAtIndex:i] forKey:@"ITEM_URL"]; + char *psz_uri = make_URI([[o_values objectAtIndex:i] UTF8String]); + if( !psz_uri ) + continue; + + o_dic = [NSDictionary dictionaryWithObject:[NSString stringWithCString:psz_uri encoding:NSUTF8StringEncoding] forKey:@"ITEM_URL"]; + + free( psz_uri ); + o_array = [o_array arrayByAddingObject: o_dic]; } if( b_autoplay ) diff --git a/modules/gui/macosx/playlist.m b/modules/gui/macosx/playlist.m index 09e2458b3c..db1b8e08f2 100644 --- a/modules/gui/macosx/playlist.m +++ b/modules/gui/macosx/playlist.m @@ -54,6 +54,8 @@ #import #import +#include + /***************************************************************************** * VLCPlaylistView implementation @@ -1779,8 +1781,14 @@ for( i = 0; i < (int)[o_values count]; i++) { NSDictionary *o_dic; - o_dic = [NSDictionary dictionaryWithObject:[o_values - objectAtIndex:i] forKey:@"ITEM_URL"]; + char *psz_uri = make_URI([[o_values objectAtIndex:i] UTF8String]); + if( !psz_uri ) + continue; + + o_dic = [NSDictionary dictionaryWithObject:[NSString stringWithCString:psz_uri encoding:NSUTF8StringEncoding] forKey:@"ITEM_URL"]; + + free( psz_uri ); + o_array = [o_array arrayByAddingObject: o_dic]; } -- 2.39.2