[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/parser/morph2_character_...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/parser/morph2_character_... |
Date: |
Sat, 16 Jun 2007 10:40:57 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/06/16 10:40:57
Modified files:
. : ChangeLog
server/parser : morph2_character_def.cpp morph2_character_def.h
Log message:
* server/parser/morph2_character_def.{cpp,h}: do not explicitly
delete the shape_character_defs, rather keep by intrusive_ptr
(which means leave ownership to the GC in the GC case).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3559&r2=1.3560
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/morph2_character_def.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/morph2_character_def.h?cvsroot=gnash&r1=1.2&r2=1.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3559
retrieving revision 1.3560
diff -u -b -r1.3559 -r1.3560
--- ChangeLog 16 Jun 2007 09:17:34 -0000 1.3559
+++ ChangeLog 16 Jun 2007 10:40:56 -0000 1.3560
@@ -1,5 +1,11 @@
2007-06-16 Sandro Santilli <address@hidden>
+ * server/parser/morph2_character_def.{cpp,h}: do not explicitly
+ delete the shape_character_defs, rather keep by intrusive_ptr
+ (which means leave ownership to the GC in the GC case).
+
+2007-06-16 Sandro Santilli <address@hidden>
+
* server/asobj/NetStream.{h,cpp}: implement markReachableResources.
* server/asobj/gen-asclass.sh: updated template to include
a sample of a markReachableResources implementation.
Index: server/parser/morph2_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/morph2_character_def.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/parser/morph2_character_def.cpp 14 Jun 2007 02:03:18 -0000
1.9
+++ server/parser/morph2_character_def.cpp 16 Jun 2007 10:40:56 -0000
1.10
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: morph2_character_def.cpp,v 1.9 2007/06/14 02:03:18 zoulunkai Exp $ */
+/* $Id: morph2_character_def.cpp,v 1.10 2007/06/16 10:40:56 strk Exp $ */
// Based on the public domain morph2.cpp of:
// Thatcher Ulrich <address@hidden>, Mike Shaver <address@hidden> 2003,
@@ -108,8 +108,6 @@
morph2_character_def::~morph2_character_def()
{
- delete m_shape2;
- delete m_shape1;
}
void morph2_character_def::display(character* inst)
Index: server/parser/morph2_character_def.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/morph2_character_def.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- server/parser/morph2_character_def.h 14 Jun 2007 08:23:14 -0000
1.2
+++ server/parser/morph2_character_def.h 16 Jun 2007 10:40:57 -0000
1.3
@@ -33,9 +33,24 @@
return m_bound;
}
+ protected:
+
+#ifdef GNASH_USE_GC
+ /// Mark all reachable resources of a morph2_character_def, for the GC
+ //
+ /// Reachable resources are:
+ /// - The start and end shapes (m_shape1, m_shape2)
+ ///
+ virtual void markReachableResources() const
+ {
+ if ( m_shape1 ) m_shape1->setReachable();
+ if ( m_shape2 ) m_shape2->setReachable();
+ }
+#endif // GNASH_USE_GC
+
private:
- shape_character_def* m_shape1;
- shape_character_def* m_shape2;
+ boost::intrusive_ptr<shape_character_def> m_shape1;
+ boost::intrusive_ptr<shape_character_def> m_shape2;
unsigned int offset;
int fill_style_count;
int line_style_count;