[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/as_environment.cpp serve...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/as_environment.cpp serve... |
Date: |
Wed, 26 Sep 2007 20:52:03 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/09/26 20:52:03
Modified files:
. : ChangeLog
server : as_environment.cpp sprite_instance.cpp
server/vm : ActionExec.cpp
Log message:
* server/as_environment.cpp (get_variable_raw): don't handle
_root and
_levelX in any special way, they are just sprite members !
* server/sprite_instance.cpp (get_member): _root doesn't exist
if
we're unloaded.
* server/vm/ActionExec.cpp (call operator): drop opcode-level
unloaded guard. Fixes bugs #21069 (feed.swf) and #20996
(curveball.swf) w/out reopening #20974 (sonic.swf).
Changes in as_environment.cpp and sprite_instance.cpp above
do the rest for misc-ming and misc-swfc tests..
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4429&r2=1.4430
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.91&r2=1.92
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.359&r2=1.360
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ActionExec.cpp?cvsroot=gnash&r1=1.49&r2=1.50
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4429
retrieving revision 1.4430
diff -u -b -r1.4429 -r1.4430
--- ChangeLog 26 Sep 2007 19:46:28 -0000 1.4429
+++ ChangeLog 26 Sep 2007 20:52:02 -0000 1.4430
@@ -1,5 +1,17 @@
2007-09-26 Sandro Santilli <address@hidden>
+ * server/as_environment.cpp (get_variable_raw): don't handle _root and
+ _levelX in any special way, they are just sprite members !
+ * server/sprite_instance.cpp (get_member): _root doesn't exist if
+ we're unloaded.
+ * server/vm/ActionExec.cpp (call operator): drop opcode-level
+ unloaded guard. Fixes bugs #21069 (feed.swf) and #20996
+ (curveball.swf) w/out reopening #20974 (sonic.swf).
+ Changes in as_environment.cpp and sprite_instance.cpp above
+ do the rest for misc-ming and misc-swfc tests..
+
+2007-09-26 Sandro Santilli <address@hidden>
+
* server/parser/morph2_character_def.cpp (read):
Don't print malformed swf errors if number of paths in defining
shapes don't match: only edges matter.
Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -b -r1.91 -r1.92
--- server/as_environment.cpp 26 Sep 2007 12:54:18 -0000 1.91
+++ server/as_environment.cpp 26 Sep 2007 20:52:02 -0000 1.92
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: as_environment.cpp,v 1.91 2007/09/26 12:54:18 strk Exp $ */
+/* $Id: as_environment.cpp,v 1.92 2007/09/26 20:52:02 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -139,6 +139,8 @@
return val;
}
+#if 0 // NO special support for _root and _levelX, all should be done by
target !
+ // see movieclip_destruction_test3, where _root becomes undefined if
target is unloaded
// Check built-in constants.
if (varname == "_root")
{
@@ -151,6 +153,7 @@
unsigned int levelno = atoi(varname.c_str()+6);
return VM::get().getRoot().getLevel(levelno).get();
}
+#endif
VM& vm = VM::get();
as_object* global = vm.getGlobal();
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.359
retrieving revision 1.360
diff -u -b -r1.359 -r1.360
--- server/sprite_instance.cpp 25 Sep 2007 14:57:05 -0000 1.359
+++ server/sprite_instance.cpp 26 Sep 2007 20:52:02 -0000 1.360
@@ -1741,6 +1741,8 @@
//
if (name == "_root" )
{
+ if ( isUnloaded() ) return false; // see
movieclip_destruction_test3.sc
+
// TODO: handle lockroot
val->set_as_object( VM::get().getRoot().get_root_movie() );
return true;
Index: server/vm/ActionExec.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ActionExec.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- server/vm/ActionExec.cpp 26 Sep 2007 11:30:43 -0000 1.49
+++ server/vm/ActionExec.cpp 26 Sep 2007 20:52:02 -0000 1.50
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: ActionExec.cpp,v 1.49 2007/09/26 11:30:43 strk Exp $ */
+/* $Id: ActionExec.cpp,v 1.50 2007/09/26 20:52:02 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -284,11 +284,13 @@
continue; // Walk up the try chain if necessary.
} // end of try checking.
+#if 0 // See bugs: #20974, #21069, #20996.
if ( _abortOnUnload && _original_target->isUnloaded() )
{
log_debug("Target of action_buffer unloaded during
execution, discarding %d remaining opcodes", stop_pc-pc);
break;
}
+#endif
// Cleanup any expired "with" blocks.
while ( ! with_stack.empty() && pc >= with_stack.back().end_pc() ) {
- [Gnash-commit] gnash ChangeLog server/as_environment.cpp serve...,
Sandro Santilli <=