[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/swf/DoInitActionTag.h
From: |
Zou Lunkai |
Subject: |
[Gnash-commit] gnash ChangeLog server/swf/DoInitActionTag.h |
Date: |
Tue, 27 Nov 2007 05:34:23 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Zou Lunkai <zoulunkai> 07/11/27 05:34:23
Modified files:
. : ChangeLog
server/swf : DoInitActionTag.h
Log message:
* server/swf/DoInitActionTag.h: make sure DoInitAction tag executed only
once. Ready to drop sprite_instance::m_init_actions_executed.
Executing
DoInitAction or not is independent on the life of associated sprites.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4973&r2=1.4974
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/DoInitActionTag.h?cvsroot=gnash&r1=1.1&r2=1.2
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4973
retrieving revision 1.4974
diff -u -b -r1.4973 -r1.4974
--- ChangeLog 26 Nov 2007 21:53:00 -0000 1.4973
+++ ChangeLog 27 Nov 2007 05:34:23 -0000 1.4974
@@ -1,3 +1,9 @@
+2007-11-27 Zou Lunkai <address@hidden>
+
+ * server/swf/DoInitActionTag.h: make sure DoInitAction tag executed only
+ once. Ready to drop sprite_instance::m_init_actions_executed.
Executing
+ DoInitAction or not is independent on the life of associated sprites.
+
2007-11-26 Sandro Santilli <address@hidden>
* server/asobj/NetStreamFfmpeg.{cpp,h}: more AVPacket wrapping work.
Index: server/swf/DoInitActionTag.h
===================================================================
RCS file: /sources/gnash/gnash/server/swf/DoInitActionTag.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/swf/DoInitActionTag.h 23 Nov 2007 12:21:27 -0000 1.1
+++ server/swf/DoInitActionTag.h 27 Nov 2007 05:34:23 -0000 1.2
@@ -30,7 +30,7 @@
#include "swf.h" // for tag_type definition
#include "action_buffer.h" // for composition
#include "sprite_instance.h" // for inlines
-//#include "tu_types.h" // for uint16_t, uint32_t etc. definition
+#include "ExecutableCode.h" // for GlobalCode
// Forward declarations
namespace gnash {
@@ -50,6 +50,7 @@
public:
DoInitActionTag()
+ :m_is_executed(false)
{}
/// Read a DoInitAction block from the stream
@@ -61,12 +62,26 @@
virtual void execute_state(sprite_instance* m) const
{
- m->execute_init_action_buffer(m_buf);
+ //m->execute_init_action_buffer(m_buf);
+ if(! m_is_executed)
+ {
+ m_is_executed = true;
+ std::auto_ptr<ExecutableCode> code ( new GlobalCode(m_buf, m) );
+ movie_root& root = VM::get().getRoot();
+ root.pushAction(code, movie_root::apINIT);
+ }
}
virtual void execute(sprite_instance* m) const
{
- m->execute_init_action_buffer(m_buf);
+ //m->execute_init_action_buffer(m_buf);
+ if(! m_is_executed)
+ {
+ m_is_executed = true;
+ std::auto_ptr<ExecutableCode> code ( new GlobalCode(m_buf, m) );
+ movie_root& root = VM::get().getRoot();
+ root.pushAction(code, movie_root::apINIT);
+ }
}
// Tell the caller that we are an action tag.
@@ -92,6 +107,7 @@
private:
action_buffer m_buf;
+ mutable bool m_is_executed;
};
} // namespace gnash::SWF
- [Gnash-commit] gnash ChangeLog server/swf/DoInitActionTag.h,
Zou Lunkai <=