gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/dlist.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/dlist.cpp
Date: Tue, 04 Sep 2007 08:23:19 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/09/04 08:23:19

Modified files:
        .              : ChangeLog 
        server         : dlist.cpp 

Log message:
                * server/dlist.cpp (reset): don't ::unload() again
                  on already unloaded characters. They might still be
                  in the list (and not in the removed zone) due to their
                  having an onUnload handler to be invoked when their parent
                  was unloaded. Fixes last assertion failure in bug #20949
                  (copter.swf)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4210&r2=1.4211
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&r1=1.84&r2=1.85

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4210
retrieving revision 1.4211
diff -u -b -r1.4210 -r1.4211
--- ChangeLog   4 Sep 2007 05:43:56 -0000       1.4210
+++ ChangeLog   4 Sep 2007 08:23:19 -0000       1.4211
@@ -1,3 +1,12 @@
+2007-09-04 Sandro Santilli <address@hidden>
+
+       * server/dlist.cpp (reset): don't ::unload() again
+         on already unloaded characters. They might still be
+         in the list (and not in the removed zone) due to their
+         having an onUnload handler to be invoked when their parent
+         was unloaded. Fixes last assertion failure in bug #20949
+         (copter.swf)
+
 2007-09-04 Zou Lunkai <address@hidden>
 
        * testsuite/misc-swfc.all/movieclip_destruction_test{1,3,4}.sc: more 
tests.

Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -b -r1.84 -r1.85
--- server/dlist.cpp    3 Sep 2007 17:37:37 -0000       1.84
+++ server/dlist.cpp    4 Sep 2007 08:23:19 -0000       1.85
@@ -599,6 +599,13 @@
                // Make a copy here, in case we're going to replace it
                DisplayItem di = *it;
 
+               // Character already unloaded, leave it where it is
+               if ( di->isUnloaded() )
+               {
+                       ++it;
+                       continue;
+               }
+
                int di_depth = di->get_depth();
 
                /// We won't scan chars in the dynamic depth zone




reply via email to

[Prev in Thread] Current Thread [Next in Thread]