gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...
Date: Tue, 19 Jun 2007 22:25:55 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/06/19 22:25:55

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp sprite_instance.h 

Log message:
                * server/sprite_instance.{cpp,h}: (markReachableResources):
                  Mark textfield variables and relative root.
                  Fixes segfault in movie reported in bug #19883, and also
                  shows that the GC model does it's job in this case.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3585&r2=1.3586
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.290&r2=1.291
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.124&r2=1.125

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3585
retrieving revision 1.3586
diff -u -b -r1.3585 -r1.3586
--- ChangeLog   19 Jun 2007 21:58:59 -0000      1.3585
+++ ChangeLog   19 Jun 2007 22:25:54 -0000      1.3586
@@ -1,5 +1,12 @@
 2007-06-19 Sandro Santilli <address@hidden>
 
+       * server/sprite_instance.{cpp,h}: (markReachableResources):
+         Mark textfield variables and relative root.
+         Fixes segfault in movie reported in bug #19883, and also
+         shows that the GC model does it's job in this case.
+
+2007-06-19 Sandro Santilli <address@hidden>
+
        * gui/NullGui.{cpp,h}: implement setTimeout
          call. fixes bug #20118.
 

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.290
retrieving revision 1.291
diff -u -b -r1.290 -r1.291
--- server/sprite_instance.cpp  17 Jun 2007 22:09:23 -0000      1.290
+++ server/sprite_instance.cpp  19 Jun 2007 22:25:55 -0000      1.291
@@ -4013,6 +4013,21 @@
        // Mark our own definition
        if ( m_def.get() ) m_def->setReachable();
 
+       // Mark textfields in the TextfieldMap
+       if ( _text_variables.get() )
+       {
+               for(TextfieldMap::const_iterator i=_text_variables->begin(),
+                                       e=_text_variables->end();
+                               i!=e; ++i)
+               {
+                       i->second->setReachable();
+               }
+       }
+
+       // Mark our relative root
+       assert(m_root != NULL);
+       m_root->setReachable();
+
        markCharacterReachable();
 
 }

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- server/sprite_instance.h    19 Jun 2007 18:42:50 -0000      1.124
+++ server/sprite_instance.h    19 Jun 2007 22:25:55 -0000      1.125
@@ -1005,6 +1005,8 @@
        ///     - Drawable instance (_drawable_inst)
        ///     - sprite environment
        ///     - definition the sprite has been instantiated from
+       ///     - Textfields having an associated variable registered in this 
instance.
+       ///     - Relative root of this instance (m_root)
        ///
        virtual void markReachableResources() const;
 #endif // GNASH_USE_GC




reply via email to

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