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: Sat, 01 Jul 2006 00:43:58 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/07/01 00:43:58

Modified files:
        .              : ChangeLog 
        server         : dlist.cpp 

Log message:
                * server/dlist.cpp: (advance): keep characters alive
                during advancement of them, in case they get removed
                from the DisplayList (see bug #16815).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.451&r2=1.452
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&r1=1.13&r2=1.14

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.451
retrieving revision 1.452
diff -u -b -r1.451 -r1.452
--- ChangeLog   1 Jul 2006 00:30:01 -0000       1.451
+++ ChangeLog   1 Jul 2006 00:43:58 -0000       1.452
@@ -1,5 +1,8 @@
 2006-06-30 Sandro Santilli <address@hidden>
 
+       * server/dlist.cpp: (advance): keep characters alive
+       during advancement of them, in case they get removed
+       from the DisplayList (see bug #16815).
        * server/swf/ASHandlers.cpp: fixed bugus stack drop
        in ActionWaitForFrame, added pseudo-code implementation of
        it and ActionWaitForFrameExpresion.

Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/dlist.cpp    29 Jun 2006 19:15:00 -0000      1.13
+++ server/dlist.cpp    1 Jul 2006 00:43:58 -0000       1.14
@@ -424,8 +424,10 @@
                        break;
                }
 
-               character*      ch = it->get_ptr();
-               assert(ch);
+               // keep the character alive in case actions in it
+               // will remove it from displaylist.
+               smart_ptr<character> ch = *it;
+               assert(ch!=NULL);
 
                ch->advance(delta_time);
        }




reply via email to

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