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);