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

List:       kde-commits
Subject:    KDE/kdelibs/khtml/css
From:       Viacheslav Tokarev <tsjoker () gmail ! com>
Date:       2009-03-11 18:08:21
Message-ID: 1236794901.944006.13465.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 938371 by vtokarev:

don't trigger second look up in the cache if there is no key
nice HashMap api

 M  +4 -7      cssstyleselector.cpp  


--- trunk/KDE/kdelibs/khtml/css/cssstyleselector.cpp #938370:938371
@@ -2119,14 +2119,11 @@
     propList->reserve(propList->size() + selectorList->size());
     while( tIt.hasNext() ) {
         r = tIt.next();
-        WTF::HashMap<CSSSelector*, int>::iterator cacheIterator = \
                selectorsCache->find(r->selector);
-        int selectorNum;
-        if (cacheIterator == selectorsCache->end()) {
-            selectorNum = selectorsCache->size();
-            selectorsCache->set(r->selector, selectorNum);
+        int selectorNum = selectorsCache->size();
+        pair<WTF::HashMap<CSSSelector*, int>::iterator, bool> cacheIterator = \
selectorsCache->add(r->selector, selectorNum); +        if (cacheIterator.second)
             selectorList->append(r->selector);
-        } else
-            selectorNum = cacheIterator->second;
+        selectorNum = cacheIterator.first->second;
         propList->append(r->rule->declaration(), selectorNum, \
r->selector->specificity(), regular, important);  }
 }


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

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