[vlc-devel] commit: qt4: ensure uri-encoded files are passed to the core (Erwan Tulou )

Geoffroy Couprie geal at videolan.org
Sun Sep 6 19:19:54 CEST 2009


Hello,

git version control a écrit :
> vlc | branch: master | Erwan Tulou <erwan10 at videolan.org> | Sat Aug 22 14:27:33 2009 +0200| [96998812a21d05d8711db846e37df91cebc8eac0] | committer: Erwan Tulou 
>
> qt4: ensure uri-encoded files are passed to the core
>
>
> diff --git a/modules/gui/qt4/dialogs_provider.cpp b/modules/gui/qt4/dialogs_provider.cpp
> index aa04f89..91ab27d 100644
> --- a/modules/gui/qt4/dialogs_provider.cpp
> +++ b/modules/gui/qt4/dialogs_provider.cpp
> @@ -418,10 +418,12 @@ void DialogsProvider::addFromSimple( bool pl, bool go)
>      files.sort();
>      foreach( const QString &file, files )
>      {
> -        playlist_Add( THEPL, qtu( toNativeSeparators( file ) ), NULL,
> +        char* psz_uri = make_URI( qtu( file ) );
> +        playlist_Add( THEPL, psz_uri, NULL,
>                        go ? ( PLAYLIST_APPEND | ( i ? PLAYLIST_PREPARSE : PLAYLIST_GO ) )
>                           : ( PLAYLIST_APPEND | PLAYLIST_PREPARSE ),
>                        PLAYLIST_END, pl, pl_Unlocked );
> +        free( psz_uri );
>          RecentsMRL::getInstance( p_intf )->addRecent(
>                  toNativeSeparators( file ) );
>          i++;
>
>   
This commit is the cause of the failed assertion I see on Windows every
time I try to open a file, because Qt gives a c:/foo/bar path to
make_URI, and make_URI only recognizes paths like c:\foo\bar.

What is the reason for this commit? Should I revert it, or hack make_URI?



More information about the vlc-devel mailing list