diff --git a/src/app/main.cpp b/src/app/main.cpp index da6f0716c7da9e3dd2f3789377722b964ed2c02d..69fda6f0ffa2c4bc84fbc2a9c5311cec4f1dcf97 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -298,6 +298,7 @@ int main(int argc, char **argv) #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) // QML is unusable with the xlib backend QApplication::setGraphicsSystem(QLatin1String("raster")); + qputenv("QSG_RENDER_LOOP", "basic"); // workaround for QTBUG-35143 #endif SharedTools::QtSingleApplication app((QLatin1String(appNameC)), argc, argv); diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index fb1f5a32c62203a567162b7ef395c8ecd192edd0..ca460ca540ccb7291895016a975c721e905475be 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -250,8 +250,16 @@ Target *BuildConfiguration::target() const Utils::Environment BuildConfiguration::baseEnvironment() const { Utils::Environment result; - if (useSystemEnvironment()) + if (useSystemEnvironment()) { +#if 1 + // workaround for QTBUG-35143 + result = Utils::Environment::systemEnvironment(); + result.unset(QLatin1String("QSG_RENDER_LOOP")); +#else result = Utils::Environment::systemEnvironment(); +#endif + } + target()->kit()->addToEnvironment(result); return result; } diff --git a/src/plugins/projectexplorer/localenvironmentaspect.cpp b/src/plugins/projectexplorer/localenvironmentaspect.cpp index faef642a17c9a017ad0e1d48554f4e3cd5f30c47..6d9268aba363c80661a1118b3f62a1ee69ed95c1 100644 --- a/src/plugins/projectexplorer/localenvironmentaspect.cpp +++ b/src/plugins/projectexplorer/localenvironmentaspect.cpp @@ -69,11 +69,23 @@ Utils::Environment LocalEnvironmentAspect::baseEnvironment() const if (BuildConfiguration *bc = runConfiguration()->target()->activeBuildConfiguration()) { env = bc->environment(); } else { // Fallback for targets without buildconfigurations: +#if 1 + // workaround for QTBUG-35143 env = Utils::Environment::systemEnvironment(); + env.unset(QLatin1String("QSG_RENDER_LOOP")); +#else + env = Utils::Environment::systemEnvironment(); +#endif runConfiguration()->target()->kit()->addToEnvironment(env); } } else if (base == static_cast<int>(SystemEnvironmentBase)) { - env = Utils::Environment::systemEnvironment(); +#if 1 + // workaround for QTBUG-35143 + env = Utils::Environment::systemEnvironment(); + env.unset(QLatin1String("QSG_RENDER_LOOP")); +#else + env = Utils::Environment::systemEnvironment(); +#endif } if (const LocalApplicationRunConfiguration *rc = qobject_cast<const LocalApplicationRunConfiguration *>(runConfiguration())) diff --git a/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp b/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp index cef5dfeee43a920666458d5d28e5912e704dbd4f..ab60581b20fae05f9775fcbe4973fdb583a69e70 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectenvironmentaspect.cpp @@ -51,7 +51,14 @@ QString QmlProjectEnvironmentAspect::baseEnvironmentDisplayName(int base) const Utils::Environment QmlProjectManager::QmlProjectEnvironmentAspect::baseEnvironment() const { +#if 1 + // workaround for QTBUG-35143 + Utils::Environment env = Utils::Environment::systemEnvironment(); + env.unset(QLatin1String("QSG_RENDER_LOOP")); + return env; +#else return Utils::Environment::systemEnvironment(); +#endif } QmlProjectEnvironmentAspect::QmlProjectEnvironmentAspect(ProjectExplorer::RunConfiguration *rc) :