[vlc-commits] commit: Skins: "file" shortcut for skins access_demux (& decode URI) ( Jean-Philippe André )

git at videolan.org git at videolan.org
Mon May 31 08:12:47 CEST 2010


vlc | branch: master | Jean-Philippe André <jpeg at videolan.org> | Mon May 31 13:44:57 2010 +0800| [117c94235c96a5927592398ec13f8ce3d8a58a36] | committer: Jean-Philippe André 

Skins: "file" shortcut for skins access_demux (& decode URI)

Without the shortcut, it is not possible to start the access_demux
for skins, as the full URL is set to file://<path>.vlt

Now we can read skins packages as in earlier versions:
 $ vlc your_skin.vlt

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

 modules/gui/skins2/src/skin_main.cpp    |    1 +
 modules/gui/skins2/src/theme_loader.cpp |    8 +++++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/modules/gui/skins2/src/skin_main.cpp b/modules/gui/skins2/src/skin_main.cpp
index 4d9ea1c..5a8b533 100644
--- a/modules/gui/skins2/src/skin_main.cpp
+++ b/modules/gui/skins2/src/skin_main.cpp
@@ -594,5 +594,6 @@ vlc_module_begin ()
         set_capability( "access_demux", 5 )
         set_callbacks( DemuxOpen, NULL )
         add_shortcut( "skins" )
+        add_shortcut( "file" )
 
 vlc_module_end ()
diff --git a/modules/gui/skins2/src/theme_loader.cpp b/modules/gui/skins2/src/theme_loader.cpp
index 0d9cfd5..1c79688 100644
--- a/modules/gui/skins2/src/theme_loader.cpp
+++ b/modules/gui/skins2/src/theme_loader.cpp
@@ -30,6 +30,8 @@
 #include "../src/vlcproc.hpp"
 #include "../src/window_manager.hpp"
 
+#include <vlc_url.h>
+
 #ifdef HAVE_FCNTL_H
 #   include <fcntl.h>
 #endif
@@ -71,8 +73,12 @@ int makedir( const char *newdir );
 #define ZIP_BUFFER_SIZE 4096
 
 
-bool ThemeLoader::load( const string &fileName )
+bool ThemeLoader::load( const string &fullFileName )
 {
+    char *decodedName = decode_URI_duplicate( fullFileName.c_str() );
+    string fileName = decodedName ? string(decodedName) : fullFileName;
+    free( decodedName );
+
     string path = getFilePath( fileName );
 
     //Before all, let's see if the file is present



More information about the vlc-commits mailing list