Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
655164c6
Commit
655164c6
authored
Feb 18, 2021
by
Jean-Baptiste Mardelle
Browse files
Add missing appimage dependency file
parent
db4ad369
Pipeline
#51453
passed with stage
in 10 minutes and 8 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
packaging/appimage/3rdparty/ext_qt/qt-appimage-support.patch
0 → 100644
View file @
655164c6
diff --git a/src/platformsupport/services/genericunix/qgenericunixservices.cpp b/src/platformsupport/services/genericunix/qgenericunixservices.cpp
index cb1e367b9f..0248ffa459 100644
--- a/qtbase/src/platformsupport/services/genericunix/qgenericunixservices.cpp
+++ b/qtbase/src/platformsupport/services/genericunix/qgenericunixservices.cpp
@@ -164,7 +164,65 @@
static inline bool launch(const QString &launcher, const QUrl &url)
#if !QT_CONFIG(process)
const bool ok = ::system(qPrintable(command + QLatin1String(" &")));
#else
- const bool ok = QProcess::startDetached(command);
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ qDebug() << env.toStringList();
+
+ // If we are running into AppImage bundle, switch env var to the right values.
+ if (env.contains(QLatin1String("APPIMAGE_ORIGINAL_LD_LIBRARY_PATH")) &&
+ env.contains(QLatin1String("APPIMAGE_ORIGINAL_QT_PLUGIN_PATH")) &&
+ env.contains(QLatin1String("APPIMAGE_ORIGINAL_XDG_DATA_DIRS")) &&
+ env.contains(QLatin1String("APPIMAGE_ORIGINAL_PATH")))
+ {
+ qDebug() << "Adjusting environment variables for AppImage bundle";
+
+ if (!env.value(QLatin1String("APPIMAGE_ORIGINAL_LD_LIBRARY_PATH")).isEmpty())
+ {
+ env.insert(QLatin1String("LD_LIBRARY_PATH"),
+ env.value(QLatin1String("APPIMAGE_ORIGINAL_LD_LIBRARY_PATH")));
+ }
+ else
+ {
+ env.remove(QLatin1String("LD_LIBRARY_PATH"));
+ }
+
+ if (!env.value(QLatin1String("APPIMAGE_ORIGINAL_QT_PLUGIN_PATH")).isEmpty())
+ {
+ env.insert(QLatin1String("QT_PLUGIN_PATH"),
+ env.value(QLatin1String("APPIMAGE_ORIGINAL_QT_PLUGIN_PATH")));
+ }
+ else
+ {
+ env.remove(QLatin1String("QT_PLUGIN_PATH"));
+ }
+
+ if (!env.value(QLatin1String("APPIMAGE_ORIGINAL_XDG_DATA_DIRS")).isEmpty())
+ {
+ env.insert(QLatin1String("XDG_DATA_DIRS"),
+ env.value(QLatin1String("APPIMAGE_ORIGINAL_XDG_DATA_DIRS")));
+ }
+ else
+ {
+ env.remove(QLatin1String("XDG_DATA_DIRS"));
+ }
+
+ if (!env.value(QLatin1String("APPIMAGE_ORIGINAL_PATH")).isEmpty())
+ {
+ env.insert(QLatin1String("PATH"),
+ env.value(QLatin1String("APPIMAGE_ORIGINAL_PATH")));
+ }
+ else
+ {
+ env.remove(QLatin1String("PATH"));
+ }
+
+ qDebug() << env.toStringList();
+ }
+
+ QProcess process;
+ process.setProcessEnvironment(env);
+ process.setProgram(launcher);
+ process.setArguments(QStringList() << QLatin1String(url.toEncoded()));
+ const bool ok = process.startDetached();
#endif
if (!ok)
qWarning("Launch failed (%s)", qPrintable(command));
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment