aboutsummaryrefslogtreecommitdiff
path: root/www/firefox
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2009-03-29 16:00:48 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2009-03-29 16:00:48 +0000
commit30f951a2e3282d1049bc1e3b148d2f855fe8e576 (patch)
tree637f78b7f375114452bf0f8beca4b148fbd898f3 /www/firefox
parent504c45447aa09dcda366d00c38365fe595667419 (diff)
downloadports-30f951a2e3282d1049bc1e3b148d2f855fe8e576.tar.gz
ports-30f951a2e3282d1049bc1e3b148d2f855fe8e576.zip
Notes
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile2
-rw-r--r--www/firefox/files/patch-ff-48521727
-rw-r--r--www/firefox/files/patch-ff-48528640
3 files changed, 68 insertions, 1 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 98a2ca68ad91..146e7901e2d9 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/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/firefox/files/patch-ff-485217 b/www/firefox/files/patch-ff-485217
new file mode 100644
index 000000000000..57b368857d9f
--- /dev/null
+++ b/www/firefox/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/firefox/files/patch-ff-485286 b/www/firefox/files/patch-ff-485286
new file mode 100644
index 000000000000..1ec049793617
--- /dev/null
+++ b/www/firefox/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);