diff --git a/mozilla/content/html/style/src/nsStyleUtil.cpp b/mozilla/content/html/style/src/nsStyleUtil.cpp
index 3d4b041e68a..a2a3535239c 100644
--- a/mozilla/content/html/style/src/nsStyleUtil.cpp
+++ b/mozilla/content/html/style/src/nsStyleUtil.cpp
@@ -189,10 +189,15 @@ const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* a
PRBool aStartAtParent /*= PR_FALSE*/)
{
const nsStyleColor* result = nsnull;
- nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext;
+ nsIStyleContext* context;
+ if (aStartAtParent) {
+ context = aContext->GetParent(); // balance ending release
+ } else {
+ context = aContext;
+ NS_IF_ADDREF(context); // balance ending release
+ }
NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" );
- NS_IF_ADDREF(context); // balance ending release
while (nsnull != context) {
result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color);
diff --git a/mozilla/content/shared/src/nsStyleUtil.cpp b/mozilla/content/shared/src/nsStyleUtil.cpp
index 3d4b041e68a..a2a3535239c 100644
--- a/mozilla/content/shared/src/nsStyleUtil.cpp
+++ b/mozilla/content/shared/src/nsStyleUtil.cpp
@@ -189,10 +189,15 @@ const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* a
PRBool aStartAtParent /*= PR_FALSE*/)
{
const nsStyleColor* result = nsnull;
- nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext;
+ nsIStyleContext* context;
+ if (aStartAtParent) {
+ context = aContext->GetParent(); // balance ending release
+ } else {
+ context = aContext;
+ NS_IF_ADDREF(context); // balance ending release
+ }
NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" );
- NS_IF_ADDREF(context); // balance ending release
while (nsnull != context) {
result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color);
diff --git a/mozilla/layout/html/style/src/nsStyleUtil.cpp b/mozilla/layout/html/style/src/nsStyleUtil.cpp
index 3d4b041e68a..a2a3535239c 100644
--- a/mozilla/layout/html/style/src/nsStyleUtil.cpp
+++ b/mozilla/layout/html/style/src/nsStyleUtil.cpp
@@ -189,10 +189,15 @@ const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* a
PRBool aStartAtParent /*= PR_FALSE*/)
{
const nsStyleColor* result = nsnull;
- nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext;
+ nsIStyleContext* context;
+ if (aStartAtParent) {
+ context = aContext->GetParent(); // balance ending release
+ } else {
+ context = aContext;
+ NS_IF_ADDREF(context); // balance ending release
+ }
NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" );
- NS_IF_ADDREF(context); // balance ending release
while (nsnull != context) {
result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color);
diff --git a/mozilla/layout/style/nsStyleUtil.cpp b/mozilla/layout/style/nsStyleUtil.cpp
index 3d4b041e68a..a2a3535239c 100644
--- a/mozilla/layout/style/nsStyleUtil.cpp
+++ b/mozilla/layout/style/nsStyleUtil.cpp
@@ -189,10 +189,15 @@ const nsStyleColor* nsStyleUtil::FindNonTransparentBackground(nsIStyleContext* a
PRBool aStartAtParent /*= PR_FALSE*/)
{
const nsStyleColor* result = nsnull;
- nsIStyleContext* context = aStartAtParent ? aContext->GetParent() : aContext;
+ nsIStyleContext* context;
+ if (aStartAtParent) {
+ context = aContext->GetParent(); // balance ending release
+ } else {
+ context = aContext;
+ NS_IF_ADDREF(context); // balance ending release
+ }
NS_ASSERTION( context != nsnull, "Cannot find NonTransparentBackground in a null context" );
- NS_IF_ADDREF(context); // balance ending release
while (nsnull != context) {
result = (const nsStyleColor*)context->GetStyleData(eStyleStruct_Color);