gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp server...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp server...
Date: Sat, 06 Jan 2007 00:23:31 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/01/06 00:23:31

Modified files:
        .              : ChangeLog 
        server/vm      : ASHandlers.cpp ActionExec.cpp 
        testsuite/actionscript.all: MovieClip.as 

Log message:
                * server/vm/ASHandlers.cpp: removed unused code.
                * server/vm/ActionExec.cpp: made action verbosity a bit more 
compact;
                  cleanup the stack after block execution.
                * testsuite/actionscript.all/MovieClip.as: new test for 
MovieClip
                  being an Object instance.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2049&r2=1.2050
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.23&r2=1.24
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ActionExec.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.25&r2=1.26

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2049
retrieving revision 1.2050
diff -u -b -r1.2049 -r1.2050
--- ChangeLog   5 Jan 2007 23:53:23 -0000       1.2049
+++ ChangeLog   6 Jan 2007 00:23:30 -0000       1.2050
@@ -1,3 +1,11 @@
+2007-01-06 Sandro Santilli <address@hidden>
+
+       * server/vm/ASHandlers.cpp: removed unused code.
+       * server/vm/ActionExec.cpp: made action verbosity a bit more compact;
+         cleanup the stack after block execution.
+       * testsuite/actionscript.all/MovieClip.as: new test for MovieClip
+         being an Object instance.
+
 2007-01-04 Markus Gothe <address@hidden>
 
        * Fixed bug #18694 + added extra info.

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- server/vm/ASHandlers.cpp    2 Jan 2007 12:51:32 -0000       1.23
+++ server/vm/ASHandlers.cpp    6 Jan 2007 00:23:31 -0000       1.24
@@ -16,7 +16,7 @@
 
 //
 
-/* $Id: ASHandlers.cpp,v 1.23 2007/01/02 12:51:32 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.24 2007/01/06 00:23:31 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -2629,30 +2629,6 @@
        // String and Number conversion
        boost::intrusive_ptr<as_object> obj_ptr;
 
-#if 0 // moved conversions into as_value::to_object()
-    if (!obj)
-    {
-       // try automatic casting strings to String objects
-       // and numbers to Number objects
-       // TODO: check if moving this in as_value::to_object()
-       //       would break anything (better to use in head)
-       switch ( obj_value.get_type() )
-       {
-               case as_value::STRING:
-                       obj_ptr = 
init_string_instance(obj_value.to_string()).release();
-                       obj = obj_ptr.get();
-                       break;
-               case as_value::NUMBER:
-                       obj_ptr = 
init_number_instance(obj_value.to_number()).release();
-                       obj = obj_ptr.get();
-                       break;
-               default:
-                       break;
-       }
-
-    }
-#endif
-
     if (!obj)
     {
         IF_VERBOSE_ASCODING_ERRORS(

Index: server/vm/ActionExec.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ActionExec.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/vm/ActionExec.cpp    31 Dec 2006 14:02:36 -0000      1.8
+++ server/vm/ActionExec.cpp    6 Jan 2007 00:23:31 -0000       1.9
@@ -16,7 +16,7 @@
 
 //
 
-/* $Id: ActionExec.cpp,v 1.8 2006/12/31 14:02:36 strk Exp $ */
+/* $Id: ActionExec.cpp,v 1.9 2007/01/06 00:23:31 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -60,6 +60,7 @@
 namespace gnash {
 
 static const SWFHandlers& ash = SWFHandlers::instance();
+static LogFile& dbglogfile = LogFile::getDefaultInstance();
 
 // External interface (to be moved under swf/ASHandlers)
 fscommand_callback s_fscommand_handler = NULL;
@@ -150,7 +151,7 @@
        uint8_t action_id = code[pc];
 
        IF_VERBOSE_ACTION (
-               log_action("\nPC:%d - EX:\t", pc);
+               dbglogfile << std::endl << "PC:" << pc << " - EX: ";
                code.log_disasm(pc);
        );
 
@@ -208,8 +209,11 @@
     }
     else if ( original_stack_size < env.stack_size() )
     {
-           log_warning("Elements left on the stack after block execution. "
-               "I guess we could just cleanup, but let's keep it as it is...");
+           // We can argue this would be an "size-optimized" SWF instead...
+           IF_VERBOSE_MALFORMED_SWF(
+           log_warning("Elements left on the stack after block execution. 
Cleaning up.");
+           );
+           env.drop(env.stack_size()-original_stack_size);
     }
 }
 

Index: testsuite/actionscript.all/MovieClip.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- testsuite/actionscript.all/MovieClip.as     4 Jan 2007 23:11:04 -0000       
1.25
+++ testsuite/actionscript.all/MovieClip.as     6 Jan 2007 00:23:31 -0000       
1.26
@@ -22,7 +22,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: MovieClip.as,v 1.25 2007/01/04 23:11:04 strk Exp $";
+rcsid="$Id: MovieClip.as,v 1.26 2007/01/06 00:23:31 strk Exp $";
 
 #include "check.as"
 
@@ -272,4 +272,5 @@
 var cl = new MovieClip();
 check_equals(cl.__proto__.constructor, MovieClip);
 check(cl instanceOf MovieClip);
+check(cl instanceOf Object);
 check_equals(typeof(cl), "object");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]