diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-03-29 16:00:48 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-03-29 16:00:48 +0000 |
commit | 30f951a2e3282d1049bc1e3b148d2f855fe8e576 (patch) | |
tree | 637f78b7f375114452bf0f8beca4b148fbd898f3 /www/firefox36 | |
parent | 504c45447aa09dcda366d00c38365fe595667419 (diff) | |
download | ports-30f951a2e3282d1049bc1e3b148d2f855fe8e576.tar.gz ports-30f951a2e3282d1049bc1e3b148d2f855fe8e576.zip |
Notes
Diffstat (limited to 'www/firefox36')
-rw-r--r-- | www/firefox36/Makefile | 2 | ||||
-rw-r--r-- | www/firefox36/files/patch-ff-485217 | 27 | ||||
-rw-r--r-- | www/firefox36/files/patch-ff-485286 | 40 |
3 files changed, 68 insertions, 1 deletions
diff --git a/www/firefox36/Makefile b/www/firefox36/Makefile index 98a2ca68ad91..146e7901e2d9 100644 --- a/www/firefox36/Makefile +++ b/www/firefox36/Makefile @@ -8,7 +8,7 @@ PORTNAME= firefox DISTVERSION= 2.0.0.20 -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH= 1 CATEGORIES= www ipv6 MASTER_SITES= ${MASTER_SITE_MOZILLA_EXTENDED} diff --git a/www/firefox36/files/patch-ff-485217 b/www/firefox36/files/patch-ff-485217 new file mode 100644 index 000000000000..57b368857d9f --- /dev/null +++ b/www/firefox36/files/patch-ff-485217 @@ -0,0 +1,27 @@ +Bug 485217 - Pop the eval context before returning. r+sr=peterv + +diff --git a/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp b/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp +--- extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp ++++ extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp +@@ -408,20 +408,19 @@ nsresult txXSLKey::testNode(const txXPat + if (key->matchPattern->matches(aNode, &aEs)) { + txSingleNodeContext evalContext(aNode, &aEs); + nsresult rv = aEs.pushEvalContext(&evalContext); + NS_ENSURE_SUCCESS(rv, rv); + + nsRefPtr<txAExprResult> exprResult; + rv = key->useExpr->evaluate(&evalContext, + getter_AddRefs(exprResult)); ++ aEs.popEvalContext(); + NS_ENSURE_SUCCESS(rv, rv); + +- aEs.popEvalContext(); +- + if (exprResult->getResultType() == txAExprResult::NODESET) { + txNodeSet* res = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); + PRInt32 i; + for (i = 0; i < res->size(); ++i) { + val.Truncate(); + txXPathNodeUtils::appendNodeValue(res->get(i), val); diff --git a/www/firefox36/files/patch-ff-485286 b/www/firefox36/files/patch-ff-485286 new file mode 100644 index 000000000000..1ec049793617 --- /dev/null +++ b/www/firefox36/files/patch-ff-485286 @@ -0,0 +1,40 @@ +Bug 485286 - Allocate all of these consistently. r+sr=peterv/sicking a=ss + +diff --git a/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp b/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp +--- extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp ++++ extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp +@@ -401,26 +401,30 @@ nsresult txXSLKey::testNode(const txXPat + txExecutionState& aEs) + { + nsAutoString val; + txListIterator iter(&mKeys); + while (iter.hasNext()) + { + Key* key = (Key*)iter.next(); + if (key->matchPattern->matches(aNode, &aEs)) { +- txSingleNodeContext evalContext(aNode, &aEs); +- nsresult rv = aEs.pushEvalContext(&evalContext); ++ txSingleNodeContext *evalContext = ++ new txSingleNodeContext(aNode, &aEs); ++ NS_ENSURE_TRUE(evalContext, NS_ERROR_OUT_OF_MEMORY); ++ ++ nsresult rv = aEs.pushEvalContext(evalContext); + NS_ENSURE_SUCCESS(rv, rv); + + nsRefPtr<txAExprResult> exprResult; +- rv = key->useExpr->evaluate(&evalContext, ++ rv = key->useExpr->evaluate(evalContext, + getter_AddRefs(exprResult)); +- aEs.popEvalContext(); + NS_ENSURE_SUCCESS(rv, rv); + ++ delete aEs.popEvalContext(); ++ + if (exprResult->getResultType() == txAExprResult::NODESET) { + txNodeSet* res = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); + PRInt32 i; + for (i = 0; i < res->size(); ++i) { + val.Truncate(); + txXPathNodeUtils::appendNodeValue(res->get(i), val); |