From 7e1d96ef9ca1ff2449d1d3c4b1eefb42234da7dd Mon Sep 17 00:00:00 2001 From: Sami Nurmenniemi Date: Thu, 20 Sep 2018 16:44:03 +0300 Subject: Use Material style only on devices with gpu Task-number: QTBUG-70493 Change-Id: Ia768ad91ea0f5672b9c25a7ae4102d8d19de9570 Reviewed-by: Kari Hormi --- basicsuite/shared/main.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/basicsuite/shared/main.cpp b/basicsuite/shared/main.cpp index e682c67..c6aefc3 100644 --- a/basicsuite/shared/main.cpp +++ b/basicsuite/shared/main.cpp @@ -66,6 +66,7 @@ #include #include #include +#include #if defined(USE_QTWEBENGINE) #include @@ -73,6 +74,13 @@ #include "engine.h" +static bool checkGlAvailability() +{ + QQuickWindow window; + return ((window.sceneGraphBackend() != "software") && + (window.sceneGraphBackend() != "softwarecontext")); +} + int main(int argc, char **argv) { //qputenv("QT_IM_MODULE", QByteArray("qtvkb")); @@ -140,10 +148,15 @@ int main(int argc, char **argv) QGuiApplication::setFont(font); } + // Material style can be set only for devices supporting GL QSettings styleSettings; QString style = styleSettings.value("style").toString(); - if (style.isEmpty() || style == "Default") - styleSettings.setValue("style", "Material"); + if (checkGlAvailability()) { + if (style.isEmpty() || style == "Default") + styleSettings.setValue("style", "Material"); + } else { + qDebug()<<"No GL available, skipping Material style"; + } QQuickStyle::setStyle(styleSettings.value("style").toString()); DummyEngine engine; -- cgit v1.2.3