[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: |
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
{