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: Wed, 11 Jul 2007 00:16:39 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/07/11 00:16:39

Modified files:
        .              : ChangeLog 
        server         : as_environment.cpp character.cpp 
                         sprite_instance.cpp 

Log message:
                * server/: as_environment.cpp, character.cpp,
                  sprite_instance.cpp: properly evaluate _level#
                  path components.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3706&r2=1.3707
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.81&r2=1.82
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.cpp?cvsroot=gnash&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.294&r2=1.295

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3706
retrieving revision 1.3707
diff -u -b -r1.3706 -r1.3707
--- ChangeLog   10 Jul 2007 23:48:41 -0000      1.3706
+++ ChangeLog   11 Jul 2007 00:16:37 -0000      1.3707
@@ -1,5 +1,11 @@
 2007-07-10 Sandro Santilli <address@hidden>
 
+       * server/: as_environment.cpp, character.cpp,
+         sprite_instance.cpp: properly evaluate _level#
+         path components.
+
+2007-07-10 Sandro Santilli <address@hidden>
+
        * server/vm/ASHandlers.cpp (CommonGetUrl): implement _level loading.
          Fixes bug #19968.
        * server/movie_root.{cpp,h}: add loadLevel() method, store levels in

Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- server/as_environment.cpp   1 Jul 2007 10:54:19 -0000       1.81
+++ server/as_environment.cpp   11 Jul 2007 00:16:38 -0000      1.82
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: as_environment.cpp,v 1.81 2007/07/01 10:54:19 bjacques Exp $ */
+/* $Id: as_environment.cpp,v 1.82 2007/07/11 00:16:38 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -140,10 +140,17 @@
     }
 
     // Check built-in constants.
-    if (varname == "_root" || varname == "_level0") {
+    if (varname == "_root") 
+    { 
        if ( retTarget ) *retTarget = NULL; // correct ??
        return as_value(m_target->get_root_movie());
     }
+    else if (varname.compare(0, 6, "_level") == 0 && 
varname.find_first_not_of("0123456789", 7) == string::npos )
+    {
+       if ( retTarget ) *retTarget = NULL; // correct ??
+       unsigned int levelno = atoi(varname.c_str()+6);
+       return VM::get().getRoot().getLevel(levelno).get();
+    }
 
     VM& vm = VM::get();
     as_object* global = vm.getGlobal();

Index: server/character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/character.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- server/character.cpp        9 Jul 2007 13:00:04 -0000       1.45
+++ server/character.cpp        11 Jul 2007 00:16:38 -0000      1.46
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 
-/* $Id: character.cpp,v 1.45 2007/07/09 13:00:04 strk Exp $ */
+/* $Id: character.cpp,v 1.46 2007/07/11 00:16:38 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -179,11 +179,15 @@
                }
                return parent;
        }
-       else if (name == "_level0"
-            || name == "_root")
+       else if (name == "_root")
        {
                return get_root_movie();
        }
+       else if (name.compare(0, 6, "_level") == 0 && 
name.find_first_not_of("0123456789", 7) == string::npos )
+       {
+               unsigned int levelno = atoi(name.c_str()+6);
+               return VM::get().getRoot().getLevel(levelno).get();
+       }
 
        return NULL;
 }

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.294
retrieving revision 1.295
diff -u -b -r1.294 -r1.295
--- server/sprite_instance.cpp  2 Jul 2007 15:15:45 -0000       1.294
+++ server/sprite_instance.cpp  11 Jul 2007 00:16:38 -0000      1.295
@@ -1825,12 +1825,20 @@
                val->set_as_object( VM::get().getRoot().get_root_movie() );
                return true;
        }
-       if ( name == "_level0" )
+       if (name.compare(0, 6, "_level") == 0 && 
name.find_first_not_of("0123456789", 7) == string::npos )
        {
-               // TODO: handle _level# (any level)
-               val->set_as_object( VM::get().getRoot().get_root_movie() );
+               unsigned int levelno = atoi(name.c_str()+6);
+               movie_instance* mo = 
VM::get().getRoot().getLevel(levelno).get();
+               if ( mo )
+               {
+                       val->set_as_object(mo);
                return true;
        }
+               else
+               {
+                       return false;
+               }
+       }
        if ( name == "this" )
        {
                val->set_as_object( this );




reply via email to

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