| Index: Source/core/xml/XPathParser.cpp
|
| diff --git a/Source/core/xml/XPathParser.cpp b/Source/core/xml/XPathParser.cpp
|
| index 332b8c3e730142ac889d41f8bfadfd9d3dfb297f..d7339afdc403a3c649ef798425194e860ddd3996 100644
|
| --- a/Source/core/xml/XPathParser.cpp
|
| +++ b/Source/core/xml/XPathParser.cpp
|
| @@ -479,11 +479,9 @@ Expression* Parser::parseStatement(const String& statement, PassRefPtr<XPathNSRe
|
| deleteAllValues(m_parseNodes);
|
| m_parseNodes.clear();
|
|
|
| - HashSet<Vector<Predicate*>*>::iterator pend = m_predicateVectors.end();
|
| - for (HashSet<Vector<Predicate*>*>::iterator it = m_predicateVectors.begin(); it != pend; ++it) {
|
| - deleteAllValues(**it);
|
| + HashSet<Vector<OwnPtr<Predicate> >*>::iterator pend = m_predicateVectors.end();
|
| + for (HashSet<Vector<OwnPtr<Predicate> >*>::iterator it = m_predicateVectors.begin(); it != pend; ++it)
|
| delete *it;
|
| - }
|
| m_predicateVectors.clear();
|
|
|
| HashSet<Vector<OwnPtr<Expression> >*>::iterator eend = m_expressionVectors.end();
|
| @@ -540,7 +538,7 @@ void Parser::unregisterParseNode(ParseNode* node)
|
| m_parseNodes.remove(node);
|
| }
|
|
|
| -void Parser::registerPredicateVector(Vector<Predicate*>* vector)
|
| +void Parser::registerPredicateVector(Vector<OwnPtr<Predicate> >* vector)
|
| {
|
| if (vector == 0)
|
| return;
|
| @@ -550,7 +548,7 @@ void Parser::registerPredicateVector(Vector<Predicate*>* vector)
|
| m_predicateVectors.add(vector);
|
| }
|
|
|
| -void Parser::deletePredicateVector(Vector<Predicate*>* vector)
|
| +void Parser::deletePredicateVector(Vector<OwnPtr<Predicate> >* vector)
|
| {
|
| if (vector == 0)
|
| return;
|
|
|