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.h server...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.h server...
Date: Tue, 19 Jun 2007 18:42:51 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/06/19 18:42:51

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.h 
        server/parser  : button_character_def.cpp button_character_def.h 
                         edit_text_character_def.cpp 
                         edit_text_character_def.h 

Log message:
                * server/sprite_instance.h: document another
                  reachable resource (was marked already, just not documented
                  as such).
                * server/parser/: button_character_def.{cpp,h},
                  edit_text_character_def.{cpp,h}:
                  Implement reachable resources marker.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3583&r2=1.3584
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.123&r2=1.124
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/button_character_def.cpp?cvsroot=gnash&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/button_character_def.h?cvsroot=gnash&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/edit_text_character_def.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/edit_text_character_def.h?cvsroot=gnash&r1=1.12&r2=1.13

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3583
retrieving revision 1.3584
diff -u -b -r1.3583 -r1.3584
--- ChangeLog   19 Jun 2007 14:57:02 -0000      1.3583
+++ ChangeLog   19 Jun 2007 18:42:49 -0000      1.3584
@@ -1,5 +1,14 @@
 2007-06-19 Sandro Santilli <address@hidden>
 
+       * server/sprite_instance.h: document another
+         reachable resource (was marked already, just not documented
+         as such).
+       * server/parser/: button_character_def.{cpp,h},
+         edit_text_character_def.{cpp,h}:
+         Implement reachable resources marker.
+
+2007-06-19 Sandro Santilli <address@hidden>
+
        * server/parser/bitmap_character_def.h: implement reachable resources
          marker.
        * gui/Makefile.am: add .configline to CLEANFILES and remove all in

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -b -r1.123 -r1.124
--- server/sprite_instance.h    19 Jun 2007 09:26:55 -0000      1.123
+++ server/sprite_instance.h    19 Jun 2007 18:42:50 -0000      1.124
@@ -1004,6 +1004,7 @@
        ///     - Canvas for dynamic drawing (_drawable)
        ///     - Drawable instance (_drawable_inst)
        ///     - sprite environment
+       ///     - definition the sprite has been instantiated from
        ///
        virtual void markReachableResources() const;
 #endif // GNASH_USE_GC

Index: server/parser/button_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/button_character_def.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/parser/button_character_def.cpp      24 May 2007 13:46:24 -0000      
1.12
+++ server/parser/button_character_def.cpp      19 Jun 2007 18:42:50 -0000      
1.13
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: button_character_def.cpp,v 1.12 2007/05/24 13:46:24 strk Exp $ */
+/* $Id: button_character_def.cpp,v 1.13 2007/06/19 18:42:50 strk Exp $ */
 
 // Based on the public domain work of Thatcher Ulrich <address@hidden> 2003
 
@@ -333,7 +333,15 @@
        return ch;
 }
 
+#ifdef GNASH_USE_GC
+void
+button_character_definition::button_sound_info::markReachableResources() const
+{
+       if ( m_sam ) m_sam->setReachable();
 }
+#endif // GNASH_USE_GC
+
+} // namespace gnash
 
 // Local Variables:
 // mode: C++

Index: server/parser/button_character_def.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/button_character_def.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- server/parser/button_character_def.h        19 May 2007 21:59:00 -0000      
1.15
+++ server/parser/button_character_def.h        19 Jun 2007 18:42:50 -0000      
1.16
@@ -44,8 +44,15 @@
        matrix  m_button_matrix;
        cxform  m_button_cxform;
 
+
 public:
 
+       button_record()
+               :
+               m_character_def(0)
+       {
+       }
+
        /// Read a button record from the SWF stream.
        //
        /// Return true if we read a record; false if this is a null
@@ -57,6 +64,18 @@
        /// which has not been defined.
        bool is_valid();
 
+#ifdef GNASH_USE_GC
+       /// Mark all reachable resources (for GC)
+       //
+       /// Reachable resources are:
+       ///  - m_character_def (??) what's it !?
+       ///
+       void markReachableResources() const
+       {
+               if ( m_character_def ) m_character_def->setReachable();
+       }
+#endif // GNASH_USE_GC
+
 };
        
 class button_action
@@ -113,18 +132,53 @@
                uint16_t m_sound_id;
                sound_sample*   m_sam;
                sound_info m_sound_style;
+
+               button_sound_info()
+                       :
+                       m_sam(0)
+               {
+               }
+
+#ifdef GNASH_USE_GC
+               /// Mark all reachable resources (for GC)
+               //
+               /// Reachable resources are:
+               ///  - sound sample (m_sam)
+               ///
+               void markReachableResources() const;
+#endif // GNASH_USE_GC
        };
 
        struct button_sound_def
        {
                void    read(stream* in, movie_definition* m);
                button_sound_info m_button_sounds[4];
+
+#ifdef GNASH_USE_GC
+               /// Mark all reachable resources (for GC)
+               //
+               /// Reachable resources are:
+               ///  - button sound infos (m_button_sounds)
+               ///
+               void markReachableResources() const
+               {
+                       for (int i=0; i<4; ++i)
+                       {
+                               m_button_sounds[i].markReachableResources();
+                       }
+               }
+#endif // GNASH_USE_GC
        };
 
 
        bool m_menu;
-       std::vector<button_record>      m_button_records;
-       std::vector<button_action>      m_button_actions;
+
+       typedef std::vector<button_record> ButtonRecVect; 
+       ButtonRecVect m_button_records;
+
+       typedef std::vector<button_action> ButtonActVect;
+       ButtonActVect m_button_actions;
+
        button_sound_def*       m_sound;
 
        button_character_definition();
@@ -153,6 +207,25 @@
     assert(0); // not implemented
   }
        
+protected:
+
+#ifdef GNASH_USE_GC
+       /// Mark all reachable resources (for GC)
+       //
+       /// Reachable resources are:
+       ///  - button records (m_button_records)
+       ///  - button sound definition (m_sound)
+       ///
+       void markReachableResources() const
+       {
+               assert(isReachable());
+               for (ButtonRecVect::const_iterator i=m_button_records.begin(), 
e=m_button_records.end(); i!=e; ++i)
+               {
+                       i->markReachableResources();
+               }
+               if ( m_sound ) m_sound->markReachableResources();
+       }
+#endif // GNASH_USE_GC
 };
 
 }      // end namespace gnash

Index: server/parser/edit_text_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/edit_text_character_def.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/parser/edit_text_character_def.cpp   18 Apr 2007 14:07:32 -0000      
1.8
+++ server/parser/edit_text_character_def.cpp   19 Jun 2007 18:42:50 -0000      
1.9
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: edit_text_character_def.cpp,v 1.8 2007/04/18 14:07:32 jgilmore Exp $ */
+/* $Id: edit_text_character_def.cpp,v 1.9 2007/06/19 18:42:50 strk Exp $ */
 
 // Based on the public domain text.cpp of Thatcher Ulrich <address@hidden> 2003
 
@@ -27,6 +27,7 @@
 
 #include "edit_text_character_def.h"
 #include "edit_text_character.h"
+#include "font.h" // for setReachable call
 
 namespace gnash {
 
@@ -156,6 +157,15 @@
        return ch;
 }
 
+#ifdef GNASH_USE_GC
+void
+edit_text_character_def::markReachableResources() const
+{
+       if ( m_root_def ) m_root_def->setReachable();
+       if ( m_font ) m_font->setReachable();
+}
+#endif // GNASH_USE_GC
+
 } // namespace gnash
 
 // Local Variables:

Index: server/parser/edit_text_character_def.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/edit_text_character_def.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/parser/edit_text_character_def.h     28 May 2007 15:41:09 -0000      
1.12
+++ server/parser/edit_text_character_def.h     19 Jun 2007 18:42:51 -0000      
1.13
@@ -211,6 +211,17 @@
     return get_bounds(); 
   }
        
+protected:
+
+#ifdef GNASH_USE_GC
+       /// Mark all reachable resources (for GC)
+       //
+       /// Reachable resources are:
+       ///  - The root movie definition (m_root_def) @@ what do we use this 
for ?
+       ///  - The font being used (m_font) 
+       ///
+       void markReachableResources() const;
+#endif // GNASH_USE_GC
 
 private:
 




reply via email to

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