2009-09-10 Zoltan Horvath <zoltan@webkit.org>
[WebKit-https.git] / WebCore / css / CSSSelectorList.cpp
index 5ad3809..f12d64f 100644 (file)
@@ -55,11 +55,9 @@ void CSSSelectorList::adoptSelectorVector(Vector<CSSSelector*>& selectorVector)
     m_selectorArray = reinterpret_cast<CSSSelector*>(fastMalloc(sizeof(CSSSelector) * selectorVector.size()));
     for (size_t i = 0; i < size; ++i) {
         memcpy(&m_selectorArray[i], selectorVector[i], sizeof(CSSSelector));
-        // We want to free the memory (which was allocated with new), but we
-        // don't want the destructor to run since it will affect the copy
-        // we've just made. In theory this is undefined, but operator delete
-        // is only defined taking a void*, so in practice it should be ok.
-        delete reinterpret_cast<char*>(selectorVector[i]);
+        // We want to free the memory (which was allocated with fastNew), but we
+        // don't want the destructor to run since it will affect the copy we've just made.
+        fastDeleteSkippingDestructor(selectorVector[i]);
         ASSERT(!m_selectorArray[i].isLastInSelectorList());
     }
     m_selectorArray[size - 1].setLastInSelectorList();