CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/09/20 20:20:37
Modified files:
. : ChangeLog
server : sprite_instance.cpp
Log message:
* server/sprite_instance.cpp (goto_frame): wait for target frame
even if we won't push any action. Fixes bug #21126.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4363&r2=1.4364
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.350&r2=1.351
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4363
retrieving revision 1.4364
diff -u -b -r1.4363 -r1.4364
--- ChangeLog 20 Sep 2007 17:07:20 -0000 1.4363
+++ ChangeLog 20 Sep 2007 20:20:36 -0000 1.4364
@@ -1,3 +1,8 @@
+2007-09-21 Sandro Santilli <[EMAIL PROTECTED]>
+
+ * server/sprite_instance.cpp (goto_frame): wait for target frame
+ even if we won't push any action. Fixes bug #21126.
+
2007-09-21 Chad Musick <[EMAIL PROTECTED]>
* server/parser/abc_block.cpp,.h: Read AS3 blocks. (unfinished)
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -b -r1.350 -r1.351
--- server/sprite_instance.cpp 20 Sep 2007 14:07:31 -0000 1.350
+++ server/sprite_instance.cpp 20 Sep 2007 20:20:36 -0000 1.351
@@ -2464,10 +2464,20 @@
// and stop at that frame.
set_play_state(STOP);
- if(target_frame_number > m_def->get_frame_count() - 1)
+ if ( target_frame_number > m_def->get_frame_count() - 1)
{
+ target_frame_number = m_def->get_frame_count() - 1;
+
+ if ( ! m_def->ensure_frame_loaded(target_frame_number+1) )
+ {
+ log_error("Target frame of a gotoFrame(%d) was never loaded,
altought frame count in header (%d) said we would have found it",
+ target_frame_number+1, m_def->get_frame_count());
+ return; // ... I guess, or not ?
+ }
+
// Just set _currentframe and return.
- m_current_frame = m_def->get_frame_count() - 1;
+ m_current_frame = target_frame_number;
+
// don't push actions, already tested.
return;
}
@@ -2506,7 +2516,7 @@
if ( ! m_def->ensure_frame_loaded(target_frame_number+1) )
{
log_error("Target frame of a gotoFrame(%d) was never loaded,
altought frame count in header (%d) said we would have found it",
- target_frame_number+1, m_def->get_frame_count()+1);
+ target_frame_number+1, m_def->get_frame_count());
return; // ... I guess, or not ?
}
}
_______________________________________________
Gnash-commit mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-commit