[Top][All Lists]
[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