[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kcontrol/icons
From:       Waldo Bastian <bastian () kde ! org>
Date:       2004-02-12 11:51:53
Message-ID: 20040212115153.BEC489191 () office ! kde ! org
[Download RAW message or body]

CVS commit by waba: 

Don't crash when there is no valid icon theme (BR66034)


  M +22 -6     icons.cpp   1.34


--- kdebase/kcontrol/icons/icons.cpp  #1.33:1.34
@@ -166,4 +166,6 @@ void KIconConfig::initDefaults()
     mDefaultEffect[2].color = QColor(34,202,0);
 
+    const int defDefSizes[] = { 32, 22, 22, 16, 32 };
+
     KIcon::Group i;
     QStringList::ConstIterator it;
@@ -173,5 +175,8 @@ void KIconConfig::initDefaults()
         mbChanged[i] = true;
         mbAnimated[i] = false;
+        if (mpTheme)
         mSizes[i] = mpTheme->defaultSize(i);
+        else
+            mSizes[i] = defDefSizes[i];
 
         mEffects[i][0] = mDefaultEffect[0];
@@ -206,4 +211,6 @@ void KIconConfig::initDefaults()
 void KIconConfig::read()
 {
+    if (mpTheme)
+    {
     for (KIcon::Group i=KIcon::FirstGroup; i<KIcon::LastGroup; i++)
         mAvSizes[i] = mpTheme->querySizes(i);
@@ -211,4 +218,13 @@ void KIconConfig::read()
     mTheme = mpTheme->current();
     mExample = mpTheme->example();
+    }
+    else
+    {
+        for (KIcon::Group i=KIcon::FirstGroup; i<KIcon::LastGroup; i++)
+            mAvSizes[i] = QValueList<int>();
+
+        mTheme = QString::null;
+        mExample = QString::null;
+    }
 
     initDefaults();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic