Author: jghali
Date: Mon Nov  9 12:59:31 2020
New Revision: 24215

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24215
Log:
Fix potential crash on startup if UI theme specified in preferences is not 
available or cannot be created

Modified:
    trunk/Scribus/scribus/prefsmanager.cpp

Modified: trunk/Scribus/scribus/prefsmanager.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24215&path=/trunk/Scribus/scribus/prefsmanager.cpp
==============================================================================
--- trunk/Scribus/scribus/prefsmanager.cpp      (original)
+++ trunk/Scribus/scribus/prefsmanager.cpp      Mon Nov  9 12:59:31 2020
@@ -2751,10 +2751,14 @@
        appPrefs.ui_SystemTheme = qApp->style()->objectName();
        if (appPrefs.uiPrefs.style.length() > 0)
        {
-               qApp->setStyle(QStyleFactory::create(appPrefs.uiPrefs.style));
-               // Plain wrong, a style may set a palette different from the 
standard palette
-               // Eg : Windows XP and Windows Vista styles
-               // qApp->setPalette(qApp->style()->standardPalette());
+               QStyle* qtStyle = nullptr;
+               QStringList availableStyles = QStyleFactory::keys();
+               if (availableStyles.contains(appPrefs.uiPrefs.style))
+                       qtStyle = QStyleFactory::create(appPrefs.uiPrefs.style);
+               if (qtStyle)
+                       qApp->setStyle(qtStyle);
+               else
+                       appPrefs.uiPrefs.style.clear();
        }
        QFont apf = qApp->font();
        apf.setPointSize(appPrefs.uiPrefs.applicationFontSize);


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to