[Top][All Lists]
[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:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/sprite_instance.h server...,
Sandro Santilli <=