From 25e02690014c26afd02ff77614d002afac731dae Mon Sep 17 00:00:00 2001 From: Abylay Ospan Date: Mon, 20 Nov 2017 21:06:23 +0400 Subject: [PATCH] deploy xcbglintegrations plugin if libxcb-glx used (#188) if xcbglintegrations plugin not deployed then we get following error message when try to run AppImage application: "QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled" we should include xcbglintegrations plugin when libxcb-glx.so found in library list (obtained from ldd output). Some applications do not depends on libQt5OpenGL.so but depends on libxcb-glx.so. --- tools/linuxdeployqt/shared.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/linuxdeployqt/shared.cpp b/tools/linuxdeployqt/shared.cpp index a64840a..ca0071e 100644 --- a/tools/linuxdeployqt/shared.cpp +++ b/tools/linuxdeployqt/shared.cpp @@ -1218,7 +1218,9 @@ void deployPlugins(const AppDirInfo &appDirInfo, const QString &pluginSourcePath } // Platform OpenGL context - if ((containsHowOften(deploymentInfo.deployedLibraries, "libQt5OpenGL")) or (containsHowOften(deploymentInfo.deployedLibraries, "libQt5XcbQpa"))) { + if ((containsHowOften(deploymentInfo.deployedLibraries, "libQt5OpenGL")) + or (containsHowOften(deploymentInfo.deployedLibraries, "libQt5XcbQpa")) + or (containsHowOften(deploymentInfo.deployedLibraries, "libxcb-glx"))) { QStringList xcbglintegrationPlugins = QDir(pluginSourcePath + QStringLiteral("/xcbglintegrations")).entryList(QStringList() << QStringLiteral("*.so")); foreach (const QString &plugin, xcbglintegrationPlugins) { pluginList.append(QStringLiteral("xcbglintegrations/") + plugin);