84 lines
2.5 KiB
Diff
84 lines
2.5 KiB
Diff
From 15823c0a5a1c7718d095e3ecb983108272c8a9fb Mon Sep 17 00:00:00 2001
|
|
From: Martell Malone <martellmalone@gmail.com>
|
|
Date: Tue, 25 Nov 2014 21:20:09 +0000
|
|
Subject: [PATCH 1/7] Use libdir for plugins on msys2
|
|
|
|
---
|
|
src/win32/dirs.c | 38 +++++++++-
|
|
modules/gui/skins2/win32/win32_factory.cpp | 2 ++
|
|
2 file changed, 39 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/win32/dirs.c b/src/win32/dirs.c
|
|
index 8a8876a1a2..2343579375 100644
|
|
--- a/src/win32/dirs.c
|
|
+++ b/src/win32/dirs.c
|
|
@@ -200,7 +200,15 @@ char *config_GetLibDir (void)
|
|
goto error;
|
|
*file = L'\0';
|
|
|
|
- return FromWide (wpath);
|
|
+ file = wcsrchr (wpath, L'\\');
|
|
+ if (file == NULL)
|
|
+ goto error;
|
|
+ *file = L'\0';
|
|
+
|
|
+ wchar_t wpathlib[MAX_PATH];
|
|
+ wsprintf(wpathlib,L"%s\\lib\\vlc", wpath);
|
|
+
|
|
+ return FromWide (wpathlib);
|
|
error:
|
|
abort ();
|
|
#endif
|
|
@@ -216,8 +216,36 @@
|
|
|
|
char *config_GetDataDir (void)
|
|
{
|
|
+#ifdef __MINGW32__
|
|
+ /* Get our full path */
|
|
+ MEMORY_BASIC_INFORMATION mbi;
|
|
+ if (!VirtualQuery (config_GetLibDir, &mbi, sizeof(mbi)))
|
|
+ goto error;
|
|
+
|
|
+ wchar_t wpath[MAX_PATH];
|
|
+ if (!GetModuleFileName ((HMODULE) mbi.AllocationBase, wpath, MAX_PATH))
|
|
+ goto error;
|
|
+
|
|
+ wchar_t *file = wcsrchr (wpath, L'\\');
|
|
+ if (file == NULL)
|
|
+ goto error;
|
|
+ *file = L'\0';
|
|
+
|
|
+ file = wcsrchr (wpath, L'\\');
|
|
+ if (file == NULL)
|
|
+ goto error;
|
|
+ *file = L'\0';
|
|
+
|
|
+ wchar_t wpathlib[MAX_PATH];
|
|
+ wsprintf(wpathlib,L"%s\\share", wpath);
|
|
+
|
|
+ return FromWide (wpathlib);
|
|
+error:
|
|
+ abort ();
|
|
+#else
|
|
const char *path = getenv ("VLC_DATA_PATH");
|
|
return (path != NULL) ? strdup (path) : config_GetLibDir ();
|
|
+#endif
|
|
}
|
|
|
|
static char *config_GetShellDir (int csidl)
|
|
diff --git a/modules/gui/skins2/win32/win32_factory.cpp b/modules/gui/skins2/win32/win32_factory.cpp
|
|
index 8a8876a1a2..2343579375 100644
|
|
--- a/modules/gui/skins2/win32/win32_factory.cpp
|
|
+++ b/modules/gui/skins2/win32/win32_factory.cpp
|
|
@@ -239,6 +239,8 @@
|
|
datadir = config_GetDataDir();
|
|
m_resourcePath.push_back( (std::string)datadir + "\\skins" );
|
|
m_resourcePath.push_back( (std::string)datadir + "\\skins2" );
|
|
+ m_resourcePath.push_back( (std::string)datadir + "\\vlc\\skins" );
|
|
+ m_resourcePath.push_back( (std::string)datadir + "\\vlc\\skins2" );
|
|
m_resourcePath.push_back( (std::string)datadir + "\\share\\skins" );
|
|
m_resourcePath.push_back( (std::string)datadir + "\\share\\skins2" );
|
|
free( datadir );
|
|
--
|
|
2.15.0
|