diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-06-12 09:40:41 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-06-12 09:40:41 +0200 |
commit | f723721bd0fb7880878917d87b57e7357d6667e4 (patch) | |
tree | bd251734d370c7a004e68f0e45d0ca7a068ff931 | |
parent | b427a652adc7f300d8af3f5d566b851e2d2c30eb (diff) | |
download | MultiMC-f723721bd0fb7880878917d87b57e7357d6667e4.tar MultiMC-f723721bd0fb7880878917d87b57e7357d6667e4.tar.gz MultiMC-f723721bd0fb7880878917d87b57e7357d6667e4.tar.lz MultiMC-f723721bd0fb7880878917d87b57e7357d6667e4.tar.xz MultiMC-f723721bd0fb7880878917d87b57e7357d6667e4.zip |
GH-1069 env hack/passthhrough for LD_PRELOAD and LD_LIBRARY_PATH
-rwxr-xr-x | application/package/linux/MultiMC | 7 | ||||
-rw-r--r-- | logic/BaseProcess.cpp | 15 |
2 files changed, 19 insertions, 3 deletions
diff --git a/application/package/linux/MultiMC b/application/package/linux/MultiMC index 2e44a3ac..c131cb36 100755 --- a/application/package/linux/MultiMC +++ b/application/package/linux/MultiMC @@ -17,8 +17,11 @@ fi MMC_DIR="$(dirname "$(readlink -f "$0")")" echo "MultiMC Dir: ${MMC_DIR}" -# Set up env -export LD_LIBRARY_PATH="${MMC_DIR}/bin":$LD_LIBRARY_PATH +# Set up env - filter out input LD_ variables but pass them in under different names +export GAME_LIBRARY_PATH=$LD_LIBRARY_PATH +export GAME_PRELOAD=$LD_PRELOAD +export LD_LIBRARY_PATH="${MMC_DIR}/bin":$MMC_LIBRARY_PATH +export LD_PRELOAD=$MMC_PRELOAD export QT_PLUGIN_PATH="${MMC_DIR}/plugins" export QT_FONTPATH="${MMC_DIR}/fonts" diff --git a/logic/BaseProcess.cpp b/logic/BaseProcess.cpp index b9aa295c..852bec4c 100644 --- a/logic/BaseProcess.cpp +++ b/logic/BaseProcess.cpp @@ -100,12 +100,25 @@ void BaseProcess::init() qDebug() << "Env: stripped" << IBUS << "from" << save << ":" << value; } #endif + if(key == "GAME_PRELOAD") + { + env.insert("LD_PRELOAD", value); + continue; + } + if(key == "GAME_LIBRARY_PATH") + { + env.insert("LD_LIBRARY_PATH", value); + continue; + } qDebug() << "Env: " << key << value; env.insert(key, value); } #ifdef Q_OS_LINUX // HACK: Workaround for QTBUG-42500 - env.insert("LD_LIBRARY_PATH", ""); + if(!env.contains("LD_LIBRARY_PATH")) + { + env.insert("LD_LIBRARY_PATH", ""); + } #endif // export some infos |