[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