[vlc-commits] commit: Qt4: fix opening DVD directory with special characters ( Rémi Denis-Courmont )

git at videolan.org git at videolan.org
Wed Jul 7 20:58:35 CEST 2010


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Jul  7 21:57:56 2010 +0300| [6e4f7493b073e405a03e977adb52085924740fd5] | committer: Rémi Denis-Courmont 

Qt4: fix opening DVD directory with special characters

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6e4f7493b073e405a03e977adb52085924740fd5
---

 modules/gui/qt4/dialogs_provider.cpp |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/modules/gui/qt4/dialogs_provider.cpp b/modules/gui/qt4/dialogs_provider.cpp
index 8e77ada..d3343bd 100644
--- a/modules/gui/qt4/dialogs_provider.cpp
+++ b/modules/gui/qt4/dialogs_provider.cpp
@@ -500,20 +500,18 @@ static void openDirectory( intf_thread_t *p_intf, bool pl, bool go )
     if( dir.isEmpty() )
         return;
 
-    QString mrl;
-
+    const char *scheme = "directory";
     if( dir.endsWith( "/VIDEO_TS", Qt::CaseInsensitive ) )
-        mrl = qfu("dvd://") + toNativeSeparators( dir );
-    else
-    {
-        char *uri = make_URI( qtu( dir ), "directory" );
-        if( unlikely(uri == NULL) )
-            return;
-        mrl = qfu(uri);
-        free( uri );
-    }
+        scheme = "dvd";
 
-    input_item_t *p_input = input_item_New( THEPL, qtu( mrl ), NULL );
+    char *uri = make_URI( qtu( dir ), scheme );
+    if( unlikely(uri == NULL) )
+        return;
+
+    RecentsMRL::getInstance( p_intf )->addRecent( qfu(uri) );
+
+    input_item_t *p_input = input_item_New( THEPL, uri, NULL );
+    free( uri );
     if( unlikely( p_input == NULL ) )
         return;
 
@@ -521,7 +519,6 @@ static void openDirectory( intf_thread_t *p_intf, bool pl, bool go )
     playlist_AddInput( THEPL, p_input,
                       go ? ( PLAYLIST_APPEND | PLAYLIST_GO ) : PLAYLIST_APPEND,
                        PLAYLIST_END, pl, pl_Unlocked );
-    RecentsMRL::getInstance( p_intf )->addRecent( mrl );
     if( !go )
         input_Read( THEPL, p_input );
     vlc_gc_decref( p_input );



More information about the vlc-commits mailing list