gnash-commit
[Top][All Lists]
Advanced

[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;




reply via email to

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