[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp |
Date: |
Fri, 21 Sep 2007 10:03:44 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/09/21 10:03:44
Modified files:
. : ChangeLog
server : sprite_instance.cpp
Log message:
* server/sprite_instance.cpp (execute_frame_tags): optimized
execution loop and avoid calling both execute_state and
execute_action (this is propedeutic for DoInitAction possibly
needing to execute in both cases).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4367&r2=1.4368
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.353&r2=1.354
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4367
retrieving revision 1.4368
diff -u -b -r1.4367 -r1.4368
--- ChangeLog 21 Sep 2007 08:29:01 -0000 1.4367
+++ ChangeLog 21 Sep 2007 10:03:44 -0000 1.4368
@@ -1,5 +1,12 @@
2007-09-21 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (execute_frame_tags): optimized
+ execution loop and avoid calling both execute_state and
+ execute_action (this is propedeutic for DoInitAction possibly
+ needing to execute in both cases).
+
+2007-09-21 Sandro Santilli <address@hidden>
+
* server/character.h, server/dlist.cpp,
server/button_character_instance.{cpp,h},
server/movie_instance.{cpp,h}, server/movie_root.cpp,
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.353
retrieving revision 1.354
diff -u -b -r1.353 -r1.354
--- server/sprite_instance.cpp 21 Sep 2007 08:29:02 -0000 1.353
+++ server/sprite_instance.cpp 21 Sep 2007 10:03:44 -0000 1.354
@@ -2386,6 +2386,8 @@
assert(frame < m_def->get_frame_count());
+ assert(typeflags);
+
const PlayList* playlist = m_def->getPlaylist(frame);
if ( playlist )
{
@@ -2397,12 +2399,19 @@
getTargetPath().c_str());
);
- for (PlayList::const_iterator it=playlist->begin(),
itEnd=playlist->end();
- it != itEnd; ++it)
+ if ( (typeflags&TAG_DLIST) && (typeflags&TAG_ACTION) )
+ {
+ std::for_each( playlist->begin(), playlist->end(),
boost::bind(&execute_tag::execute, _1, this) );
+ }
+ else if ( typeflags & TAG_DLIST )
+ {
+ assert( ! (typeflags & TAG_ACTION) );
+ std::for_each( playlist->begin(), playlist->end(),
boost::bind(&execute_tag::execute_state, _1, this) );
+ }
+ else
{
- execute_tag* tag = *it;
- if ( typeflags & TAG_DLIST ) tag->execute_state(this);
- if ( typeflags & TAG_ACTION ) tag->execute_action(this);
+ assert(typeflags & TAG_ACTION);
+ std::for_each(playlist->begin(), playlist->end(),
boost::bind(&execute_tag::execute_action, _1, this));
}
}
- Re: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, (continued)
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/09/20
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/09/21
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/09/22
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/09/27