diff --git a/content/base/src/nsDocument.cpp b/content/base/src/nsDocument.cpp index 1e7b9dfcb3c7..70ce1255b420 100644 --- a/content/base/src/nsDocument.cpp +++ b/content/base/src/nsDocument.cpp @@ -1545,9 +1545,12 @@ nsIContent* nsDocument::GetNextContent(const nsIContent *aContent) const if (index+1 < count) { parent->ChildAt(index+1, result); // Get first child down the tree - PRInt32 n; - result->ChildCount(n); - while (n > 0) { + for (;;) { + PRInt32 n; + result->ChildCount(n); + if (n <= 0) { + break; + } nsIContent * old = result; old->ChildAt(0, result); NS_RELEASE(old); diff --git a/layout/base/src/nsDocument.cpp b/layout/base/src/nsDocument.cpp index 1e7b9dfcb3c7..70ce1255b420 100644 --- a/layout/base/src/nsDocument.cpp +++ b/layout/base/src/nsDocument.cpp @@ -1545,9 +1545,12 @@ nsIContent* nsDocument::GetNextContent(const nsIContent *aContent) const if (index+1 < count) { parent->ChildAt(index+1, result); // Get first child down the tree - PRInt32 n; - result->ChildCount(n); - while (n > 0) { + for (;;) { + PRInt32 n; + result->ChildCount(n); + if (n <= 0) { + break; + } nsIContent * old = result; old->ChildAt(0, result); NS_RELEASE(old);