OSDN Git Service

make use of QStyle::objectName() in QApplicationPrivate::x11_apply_settings()
authorIvailo Monev <xakepa10@gmail.com>
Sun, 8 Nov 2020 05:04:55 +0000 (07:04 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Sun, 8 Nov 2020 05:04:55 +0000 (07:04 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/kernel/qapplication.cpp
src/gui/kernel/qapplication_x11.cpp

index 6041434..b563fa7 100644 (file)
@@ -1045,9 +1045,8 @@ QStyle *QApplication::style()
         QStyle *&app_style = QApplicationPrivate::app_style;
         app_style = QStyleFactory::create(style);
         if (!app_style) {
-            QStringList styles = QStyleFactory::keys();
-            for (int i = 0; i < styles.size(); ++i) {
-                if ((app_style = QStyleFactory::create(styles.at(i))))
+            foreach (const QString &style, QStyleFactory::keys()) {
+                if ((app_style = QStyleFactory::create(style)))
                     break;
             }
         }
index 1a6abb0..8809857 100644 (file)
@@ -692,13 +692,11 @@ bool QApplicationPrivate::x11_apply_settings()
         stylename = qt_guiPlatformPlugin()->styleName();
     }
 
-    static QString currentStyleName = stylename;
     if (QCoreApplication::startingUp()) {
         if (!stylename.isEmpty() && QApplicationPrivate::styleOverride.isNull())
             QApplicationPrivate::styleOverride = stylename;
     } else {
-        if (currentStyleName != stylename) {
-            currentStyleName = stylename;
+        if (QApplication::style()->objectName() != stylename) {
             QApplication::setStyle(stylename);
         }
     }