gnash-commit
[Top][All Lists]
Advanced

[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: Thu, 25 Oct 2007 07:52:10 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/10/25 07:52:10

Modified files:
        .              : ChangeLog 
        server         : as_environment.cpp 
        server/vm      : ASHandlers.cpp 

Log message:
                * server/as_environment.cpp (find_target): always use current, 
not
                  original target.
                * server/vm/ASHandlers.cpp (CommonSetTarget): reset target as 
first
                  thing, so that find_target won't use previously current target
                  to resolve relative paths.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4701&r2=1.4702
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.101&r2=1.102
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.143&r2=1.144

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4701
retrieving revision 1.4702
diff -u -b -r1.4701 -r1.4702
--- ChangeLog   25 Oct 2007 07:22:02 -0000      1.4701
+++ ChangeLog   25 Oct 2007 07:52:09 -0000      1.4702
@@ -1,5 +1,13 @@
 2007-10-24 Sandro Santilli <address@hidden>
 
+       * server/as_environment.cpp (find_target): always use current, not
+         original target.
+       * server/vm/ASHandlers.cpp (CommonSetTarget): reset target as first
+         thing, so that find_target won't use previously current target
+         to resolve relative paths.
+
+2007-10-24 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/with.as: more setTarget tests (failing)
 
 2007-10-24 Sandro Santilli <address@hidden>

Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -b -r1.101 -r1.102
--- server/as_environment.cpp   24 Oct 2007 23:54:22 -0000      1.101
+++ server/as_environment.cpp   25 Oct 2007 07:52:10 -0000      1.102
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: as_environment.cpp,v 1.101 2007/10/24 23:54:22 strk Exp $ */
+/* $Id: as_environment.cpp,v 1.102 2007/10/25 07:52:10 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -567,8 +567,7 @@
        return m_target; // or should we return the *original* path ?
     }
     
-    // see swfdec's settarget-relative-*.swf
-    character* env = _original_target; // m_target;
+    character* env = m_target; 
     assert(env);
     
     const char*        p = path.c_str();

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -b -r1.143 -r1.144
--- server/vm/ASHandlers.cpp    24 Oct 2007 23:40:37 -0000      1.143
+++ server/vm/ASHandlers.cpp    25 Oct 2007 07:52:10 -0000      1.144
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: ASHandlers.cpp,v 1.143 2007/10/24 23:40:37 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.144 2007/10/25 07:52:10 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -679,7 +679,7 @@
        // Change the movie we're working on.
        string target_name ( code.read_string(pc+3) );
 
-       CommonSetTarget(env, target_name);
+       CommonSetTarget(thread, target_name);
 }
 
 void
@@ -1023,7 +1023,7 @@
        // see tests in opcode_guard_test2.sc
        const string& target_name = env.top(0).to_string(&env);
 
-       CommonSetTarget(env, target_name);
+       CommonSetTarget(thread, target_name);
 
        env.drop(1); // pop the target sprite off the stack
 }
@@ -2149,18 +2149,19 @@
 // http://sswf.sourceforge.net/SWFalexref.html#action_set_target
 // http://sswf.sourceforge.net/SWFalexref.html#action_get_dynamic
 void
-SWFHandlers::CommonSetTarget(as_environment& env, const string& target_name)
+SWFHandlers::CommonSetTarget(ActionExec& thread, const string& target_name)
 {
+       as_environment& env = thread.env;
+
+       // see swfdec's settarget-relative-*.swf
+       env.reset_target();
+
        character *new_target;
 
        // if the string is blank, we reset the target to its original value
-       if ( target_name.empty() )
-       {
-               env.reset_target();
-               return;
-       }
+       if ( target_name.empty() ) return;
 
-       new_target = env.find_target(target_name);
+       new_target = env.find_target(target_name); // TODO: pass 
thread.getScopeStack()
        if (new_target == NULL)
        {
                IF_VERBOSE_ASCODING_ERRORS (
@@ -2169,7 +2170,7 @@
                        " Resetting to original target..."),
                        target_name.c_str());
                );
-               env.reset_target();
+               return;
        }
        else
        {




reply via email to

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