From b2ac9c284d365cd7c10f0344e88b4e3fe12490aa Mon Sep 17 00:00:00 2001 From: "akhil.arora%sun.com" Date: Mon, 22 Nov 1999 22:01:23 +0000 Subject: [PATCH] 19578 r=akhil.arora@sun.com fix=Denis Sharypov Defer deleting the current element until the next iteration so that we can dereference the element first to get to the next element. git-svn-id: svn://10.0.0.236/trunk@54173 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/java/dom/jni/javaDOMGlobals.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mozilla/java/dom/jni/javaDOMGlobals.cpp b/mozilla/java/dom/jni/javaDOMGlobals.cpp index 610b251cfa2..a72908f6c0d 100644 --- a/mozilla/java/dom/jni/javaDOMGlobals.cpp +++ b/mozilla/java/dom/jni/javaDOMGlobals.cpp @@ -522,20 +522,21 @@ void JavaDOMGlobals::TakeOutGarbage() PRCList* chain = NULL; PRCList* elem = NULL; - for (chain = garbage.next; + for (chain = PR_LIST_HEAD(&garbage); chain != &garbage; chain = PR_NEXT_LINK(chain)) { - elem = chain; + delete elem; + elem = chain; domo = ((jniDOMGarbage*) elem)->domObject; PR_LOG(log, PR_LOG_DEBUG, ("JavaDOMGlobals::TakeOutGarbage: Releasing %x\n", domo)); domo->Release(); domo = NULL; - delete elem; count++; } + delete elem; PR_INIT_CLIST(&garbage); if (count)