[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...
From: |
Udo Giacomozzi |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test... |
Date: |
Fri, 07 Dec 2007 14:39:20 +0000 |
CVSROOT: /cvsroot/gnash
Module name: gnash
Changes by: Udo Giacomozzi <udog> 07/12/07 14:39:20
Modified files:
. : ChangeLog
server : sprite_instance.cpp
testsuite/misc-swfc.all: gotoFrameLabelAsFunction.sc
Log message:
server/sprite_instance.cpp: fix gotoAndXXX for frame labels
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5107&r2=1.5108
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.406&r2=1.407
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc?cvsroot=gnash&r1=1.1&r2=1.2
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.5107
retrieving revision 1.5108
diff -u -b -r1.5107 -r1.5108
--- ChangeLog 7 Dec 2007 14:16:11 -0000 1.5107
+++ ChangeLog 7 Dec 2007 14:39:19 -0000 1.5108
@@ -6,6 +6,7 @@
fix sanity check
* testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc:
new test for gotoAndPlay(label) *function*
+ * server/sprite_instance.cpp: fix gotoAndXXX for frame labels
2007-12-07 Sandro Santilli <address@hidden>
Index: server/sprite_instance.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.406
retrieving revision 1.407
diff -u -b -r1.406 -r1.407
--- server/sprite_instance.cpp 7 Dec 2007 01:33:26 -0000 1.406
+++ server/sprite_instance.cpp 7 Dec 2007 14:39:20 -0000 1.407
@@ -502,9 +502,19 @@
return as_value();
}
+ size_t frame_number;
+ if ( ! sprite->get_frame_number(fn.arg(0), frame_number) )
+ {
+ // No dice.
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror(_("sprite_goto_and_play('%s') -- invalid frame"),
+ fn.arg(0).to_debug_string().c_str());
+ );
+ return as_value();
+ }
+
// Convert to 0-based
- size_t target_frame = size_t(fn.arg(0).to_number() - 1);
- sprite->goto_frame(target_frame);
+ sprite->goto_frame(frame_number);
sprite->set_play_state(sprite_instance::PLAY);
return as_value();
}
@@ -521,10 +531,19 @@
return as_value();
}
- // Convert to 0-based
- size_t target_frame = size_t(fn.arg(0).to_number() - 1);
+ size_t frame_number;
+ if ( ! sprite->get_frame_number(fn.arg(0), frame_number) )
+ {
+ // No dice.
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror(_("sprite_goto_and_stop('%s') -- invalid frame"),
+ fn.arg(0).to_debug_string().c_str());
+ );
+ return as_value();
+ }
- sprite->goto_frame(target_frame);
+ // Convert to 0-based
+ sprite->goto_frame(frame_number);
sprite->set_play_state(sprite_instance::STOP);
return as_value();
}
Index: testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc
===================================================================
RCS file:
/cvsroot/gnash/gnash/testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc 7 Dec 2007 14:16:52
-0000 1.1
+++ testsuite/misc-swfc.all/gotoFrameLabelAsFunction.sc 7 Dec 2007 14:39:20
-0000 1.2
@@ -14,7 +14,7 @@
this.onEnterFrame = function() {
_root.framecount++;
if (_root.framecount==10) {
- xcheck_equals(_root._currentframe, 5);
+ check_equals(_root._currentframe, 5);
totals(1);
}
};
@@ -27,6 +27,7 @@
.frame 4
.action:
trace("reached label 4 (wrong)");
+ check(0);
stop();
.end
@@ -39,6 +40,7 @@
.frame 6
.action:
trace("reached label 6 (wrong)");
+ check(0);
stop();
.end
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...,
Udo Giacomozzi <=