Changeset 769 for trunk/src/gui/image/qicon.cpp
- Timestamp:
- Aug 2, 2010, 9:27:30 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.6.3 (added) merged: 768 /branches/vendor/nokia/qt/current merged: 767 /branches/vendor/nokia/qt/4.6.2 removed
- Property svn:mergeinfo changed
-
trunk/src/gui/image/qicon.cpp
r763 r769 105 105 static QBasicAtomicInt serialNumCounter = Q_BASIC_ATOMIC_INITIALIZER(1); 106 106 107 static void qt_cleanup_icon_cache(); 108 typedef QCache<QString, QIcon> IconCache; 109 Q_GLOBAL_STATIC_WITH_INITIALIZER(IconCache, qtIconCache, qAddPostRoutine(qt_cleanup_icon_cache)) 110 111 static void qt_cleanup_icon_cache() 112 { 113 qtIconCache()->clear(); 114 } 115 107 116 QIconPrivate::QIconPrivate() 108 117 : engine(0), ref(1), … … 964 973 QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback) 965 974 { 966 static QCache <QString, QIcon> iconCache;967 968 975 QIcon icon; 969 976 970 if ( iconCache.contains(name)) {971 icon = * iconCache.object(name);977 if (qtIconCache()->contains(name)) { 978 icon = *qtIconCache()->object(name); 972 979 } else { 973 980 QIcon *cachedIcon = new QIcon(new QIconLoaderEngine(name)); 974 iconCache.insert(name, cachedIcon);981 qtIconCache()->insert(name, cachedIcon); 975 982 icon = *cachedIcon; 976 983 } 977 984 978 if (icon.availableSizes().isEmpty()) 985 // Note the qapp check is to allow lazy loading of static icons 986 // Supporting fallbacks will not work for this case. 987 if (qApp && icon.availableSizes().isEmpty()) 979 988 return fallback; 980 989
Note:
See TracChangeset
for help on using the changeset viewer.