[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/swf/ASHandlers.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/swf/ASHandlers.cpp |
Date: |
Mon, 07 Aug 2006 21:06:55 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/08/07 21:06:55
Modified files:
. : ChangeLog
server/swf : ASHandlers.cpp
Log message:
* server/swf/ASHandlers.cpp: allow WaitForFrame actions
to always wait (and never skip actions) by mean of
a compile-time define.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.599&r2=1.600
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.46&r2=1.47
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.599
retrieving revision 1.600
diff -u -b -r1.599 -r1.600
--- ChangeLog 7 Aug 2006 20:43:38 -0000 1.599
+++ ChangeLog 7 Aug 2006 21:06:55 -0000 1.600
@@ -1,5 +1,8 @@
2006-08-07 Sandro Santilli <address@hidden>
+ * server/swf/ASHandlers.cpp: allow WaitForFrame actions
+ to always wait (and never skip actions) by mean of
+ a compile-time define.
* server/sprite_instance.cpp: simplified code in advance_root
to use the new specialized movie_definition::load_next_frame_chunk()
* server/movie_def_impl.cpp: implemented frame chunk loading,
Index: server/swf/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- server/swf/ASHandlers.cpp 7 Aug 2006 18:56:14 -0000 1.46
+++ server/swf/ASHandlers.cpp 7 Aug 2006 21:06:55 -0000 1.47
@@ -57,6 +57,13 @@
using namespace std;
+// Define this to have WaitForFrame actions really
+// wait for target frame (and never skip actions)
+// See:
+// http://sswf.sourceforge.net/SWFalexref.html#action_wait_for_frame
+//
+#undef REALLY_WAIT_ON_WAIT_FOR_FRAME
+
// Forward declarations
namespace gnash {
extern fscommand_callback s_fscommand_handler;
@@ -663,6 +670,12 @@
return;
}
+ // Actually *wait* for target frame, and never skip any action
+#ifdef REALLY_WAIT_ON_WAIT_FOR_FRAME
+ target_sprite->get_movie_definition()->ensure_frame_loaded(framenum);
+ assert(target_sprite->get_loaded_frames() >= framenum);
+#endif
+
size_t lastloaded = target_sprite->get_loaded_frames();
if ( lastloaded < framenum )
{
@@ -1314,6 +1327,11 @@
size_t framenum = target_sprite->get_frame_number(framespec);
+#ifdef REALLY_WAIT_ON_WAIT_FOR_FRAME
+ target_sprite->get_movie_definition()->ensure_frame_loaded(framenum);
+ assert(target_sprite->get_loaded_frames() >= framenum);
+#endif
+
size_t lastloaded = target_sprite->get_loaded_frames();
if ( lastloaded < framenum )
{