[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/movie_root.cpp server/vm...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/movie_root.cpp server/vm... |
Date: |
Wed, 09 Jan 2008 17:52:18 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/01/09 17:52:17
Modified files:
. : ChangeLog
server : movie_root.cpp
server/vm : ASHandlers.cpp
Log message:
Don't convert target of loadMovie target sprites to lowercase !!
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5356&r2=1.5357
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.145&r2=1.146
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.175&r2=1.176
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5356
retrieving revision 1.5357
diff -u -b -r1.5356 -r1.5357
--- ChangeLog 9 Jan 2008 17:09:16 -0000 1.5356
+++ ChangeLog 9 Jan 2008 17:52:16 -0000 1.5357
@@ -1,5 +1,16 @@
2008-01-09 Sandro Santilli <address@hidden>
+ * server/movie_root.cpp (findCharacterByTarget): start from
+ an arbitrary level for resolution, not necessarely the
+ original root movie...
+ * server/vm/ASHandlers.cpp (CommonGetUrl):
+ Don't convert target movie id to lowercase !
+ Provide a compile-time macro to determine whether or not
+ movie loads are postponed, being a pretty new thing...
+ (defaults to do postpone).
+
+2008-01-09 Sandro Santilli <address@hidden>
+
* testsuite/misc-ming.all/: loadMovieTest.c, loadMovieTestRunner.cpp:
Initial work to turn loadMovieTest.swf into a
self-described/contained testcase.
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -b -r1.145 -r1.146
--- server/movie_root.cpp 9 Jan 2008 14:53:17 -0000 1.145
+++ server/movie_root.cpp 9 Jan 2008 17:52:17 -0000 1.146
@@ -43,6 +43,8 @@
#include <boost/bind.hpp>
//#define GNASH_DEBUG 1
+//#define GNASH_DEBUG_LOADMOVIE_REQUESTS_PROCESSING 1
+//#define GNASH_DEBUG_TIMERS_EXPIRATION 1
using namespace std;
@@ -1427,7 +1429,9 @@
void
movie_root::executeTimers()
{
+#ifdef GNASH_DEBUG_TIMERS_EXPIRATION
log_debug("Checking %d timers for expiration", _intervalTimers.size());
+#endif
for (TimerMap::iterator it=_intervalTimers.begin(),
itEnd=_intervalTimers.end();
it != itEnd; )
{
@@ -1682,7 +1686,12 @@
VM& vm = VM::get();
string_table& st = vm.getStringTable();
- as_object* o = getRootMovie(); // FIXME: could have been dropped ! use
_movies.front() instead
+
+ // NOTE: getRootMovie() would be problematic in case the original
+ // root movie is replaced by a load to _level0...
+ // (but I guess we'd also drop loadMovie requests in that
+ // case... just not tested)
+ as_object* o = _movies.begin()->second.get();
string::size_type from = 0;
while ( string::size_type to=tgtstr.find_first_of('.', from) )
@@ -1690,10 +1699,10 @@
string part(tgtstr, from, to-from);
o = o->get_path_element(st.find(part));
if ( ! o ) {
-//#ifdef GNASH_DEBUG_TARGET_RESOLUTION
- log_debug("Evaluating target path for soft ref
rebinding: element '%s' of path '%s' not found",
+#ifdef GNASH_DEBUG_TARGET_RESOLUTION
+ log_debug("Evaluating character target path: element
'%s' of path '%s' not found",
part.c_str(), tgtstr.c_str());
-//#endif
+#endif
return NULL;
}
if ( to == string::npos ) break;
@@ -1749,7 +1758,9 @@
void
movie_root::processLoadMovieRequests()
{
+#ifdef GNASH_DEBUG_LOADMOVIE_REQUESTS_PROCESSING
log_debug("Processing %d loadMovie requests", _loadMovieRequests.size());
+#endif
for (LoadMovieRequests::iterator it=_loadMovieRequests.begin();
it != _loadMovieRequests.end(); )
{
Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.175
retrieving revision 1.176
diff -u -b -r1.175 -r1.176
--- server/vm/ASHandlers.cpp 9 Jan 2008 14:53:18 -0000 1.175
+++ server/vm/ASHandlers.cpp 9 Jan 2008 17:52:17 -0000 1.176
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: ASHandlers.cpp,v 1.175 2008/01/09 14:53:18 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.176 2008/01/09 17:52:17 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -2076,6 +2076,9 @@
)
{
+// It seems queuing loadMovie requests breaks the canonical wbt testcase...
+#define QUEUE_MOVIE_LOADS 1
+
assert(url_c);
if ( *url_c == '\0' )
@@ -2202,8 +2205,11 @@
{
unsigned int levelno =
atoi(target_string.c_str()+6);
log_debug(_("Testing _level loading (level
%u)"), levelno);
- //VM::get().getRoot().loadLevel(levelno, url);
+#ifdef QUEUE_MOVIE_LOADS
VM::get().getRoot().loadMovie(url, s); // TODO:
add third argument for the method
+#else
+ VM::get().getRoot().loadLevel(levelno, url);
+#endif
return;
}
@@ -2219,9 +2225,18 @@
return;
}
- //target_movie->loadMovie(url);
- std::string s = boost::to_lower_copy(target.to_string());
- VM::get().getRoot().loadMovie(url, s); // TODO: add third
argument for the method
+#ifdef QUEUE_MOVIE_LOADS
+ std::string s = target_movie->getTarget(); // or getOrigTarget ?
+ if ( s != target_movie->getOrigTarget() )
+ {
+ log_debug("TESTME: target of a loadMovie changed its
target path");
+ }
+ movie_root& mr = VM::get().getRoot();
+ assert( mr.findCharacterByTarget(s) == target_movie );
+ mr.loadMovie(url, s); // TODO: add third argument for the method
+#else
+ target_movie->loadMovie(url);
+#endif
return;
}
@@ -2238,8 +2253,11 @@
{
unsigned int levelno = atoi(target_string.c_str()+6);
log_debug(_("Testing _level loading (level %u)"), levelno);
- //VM::get().getRoot().loadLevel(levelno, url);
+#ifdef QUEUE_MOVIE_LOADS
VM::get().getRoot().loadMovie(url, s); // TODO: add third
argument for the method
+#else
+ VM::get().getRoot().loadLevel(levelno, url);
+#endif
return;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/movie_root.cpp server/vm...,
Sandro Santilli <=