gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/array.cpp server/array.h...


From: Chad Musick
Subject: [Gnash-commit] gnash ChangeLog server/array.cpp server/array.h...
Date: Tue, 20 Nov 2007 12:04:56 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Chad Musick <cmusick>   07/11/20 12:04:56

Modified files:
        .              : ChangeLog 
        server         : array.cpp array.h 
        server/asobj   : AsBroadcaster.cpp Color.cpp Global.cpp 
                         LoadVars.cpp MovieClipLoader.cpp Object.cpp 
                         Sound.cpp string.cpp xml.cpp xml.h 
                         xmlsocket.cpp 

Log message:
        Reduce dependence on as_environment member of fn_call.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4899&r2=1.4900
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.83&r2=1.84
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.h?cvsroot=gnash&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/AsBroadcaster.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Color.cpp?cvsroot=gnash&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Global.cpp?cvsroot=gnash&r1=1.76&r2=1.77
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/LoadVars.cpp?cvsroot=gnash&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/MovieClipLoader.cpp?cvsroot=gnash&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Object.cpp?cvsroot=gnash&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Sound.cpp?cvsroot=gnash&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.h?cvsroot=gnash&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlsocket.cpp?cvsroot=gnash&r1=1.38&r2=1.39

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4899
retrieving revision 1.4900
diff -u -b -r1.4899 -r1.4900
--- ChangeLog   20 Nov 2007 10:31:39 -0000      1.4899
+++ ChangeLog   20 Nov 2007 12:04:54 -0000      1.4900
@@ -1,5 +1,12 @@
 2007-11-20 Chad Musick <address@hidden>
 
+       * server/array.cpp.h: Remove as_environment parameter from removeLast
+       * server/asobj/AsBroadcaster.cpp Color.cpp Global.cpp LoadVars.cpp
+         MovieClipLoader.cpp Object.cpp Sound.cpp string.cpp xml.h,.cpp
+         xmlsocket.cpp: Reduce dependence on as_environment.
+
+2007-11-20 Chad Musick <address@hidden>
+
        * server/as_object.h,.cpp: Remove as_environment parameter from
          callMethod methods.
        * server/edit_text_character.cpp: Fix call to callMethod

Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- server/array.cpp    20 Nov 2007 00:44:03 -0000      1.83
+++ server/array.cpp    20 Nov 2007 12:04:55 -0000      1.84
@@ -780,7 +780,7 @@
 }
 
 bool
-as_array_object::removeFirst(const as_value& v, as_environment&)
+as_array_object::removeFirst(const as_value& v)
 {
        for (iterator it = elements.begin(); it != elements.end(); ++it)
        {

Index: server/array.h
===================================================================
RCS file: /sources/gnash/gnash/server/array.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- server/array.h      16 Nov 2007 19:43:43 -0000      1.38
+++ server/array.h      20 Nov 2007 12:04:55 -0000      1.39
@@ -188,7 +188,7 @@
        /// @param env
        ///     The environment to use when comparing (needed by 
as_value::equals)
        ///
-       bool removeFirst(const as_value& v, as_environment& env);
+       bool removeFirst(const as_value& v);
 
        /// \brief
        /// Substitute 'len' elements from 'start' with elements from

Index: server/asobj/AsBroadcaster.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/AsBroadcaster.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/asobj/AsBroadcaster.cpp      20 Nov 2007 10:31:39 -0000      1.10
+++ server/asobj/AsBroadcaster.cpp      20 Nov 2007 12:04:55 -0000      1.11
@@ -303,7 +303,7 @@
                // Remove the first listener matching the new value
                // See 
http://www.senocular.com/flash/tutorials/listenersasbroadcaster/?page=2
                // TODO: make this call as a normal (don't want to rely on 
_listeners type at all)
-               bool removed = listeners->removeFirst(listenerToRemove, 
fn.env());
+               bool removed = listeners->removeFirst(listenerToRemove);
                return as_value(removed);
        }
 

Index: server/asobj/Color.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Color.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- server/asobj/Color.cpp      20 Nov 2007 00:44:04 -0000      1.18
+++ server/asobj/Color.cpp      20 Nov 2007 12:04:55 -0000      1.19
@@ -259,7 +259,7 @@
 }
 
 static inline void
-parseColorTransProp (as_object& obj, as_environment& env, string_table::key 
key, float *target, bool scale)
+parseColorTransProp (as_object& obj, string_table::key key, float *target, 
bool scale)
 {
        as_value tmp;
        double d;
@@ -304,21 +304,20 @@
        }
 
        string_table& st = obj->getVM().getStringTable();
-       as_environment& env = fn.env();
 
        cxform newTrans = obj->getTransform();
 
        // multipliers
-       parseColorTransProp(*trans, env, st.find("ra"), &newTrans.m_[0][0], 
true);
-       parseColorTransProp(*trans, env, st.find("ga"), &newTrans.m_[1][0], 
true);
-       parseColorTransProp(*trans, env, st.find("ba"), &newTrans.m_[2][0], 
true);
-       parseColorTransProp(*trans, env, st.find("aa"), &newTrans.m_[3][0], 
true);
+       parseColorTransProp(*trans, st.find("ra"), &newTrans.m_[0][0], true);
+       parseColorTransProp(*trans, st.find("ga"), &newTrans.m_[1][0], true);
+       parseColorTransProp(*trans, st.find("ba"), &newTrans.m_[2][0], true);
+       parseColorTransProp(*trans, st.find("aa"), &newTrans.m_[3][0], true);
 
        // offsets
-       parseColorTransProp(*trans, env, st.find("rb"), &newTrans.m_[0][1], 
false);
-       parseColorTransProp(*trans, env, st.find("gb"), &newTrans.m_[1][1], 
false);
-       parseColorTransProp(*trans, env, st.find("bb"), &newTrans.m_[2][1], 
false);
-       parseColorTransProp(*trans, env, st.find("ab"), &newTrans.m_[3][1], 
false);
+       parseColorTransProp(*trans, st.find("rb"), &newTrans.m_[0][1], false);
+       parseColorTransProp(*trans, st.find("gb"), &newTrans.m_[1][1], false);
+       parseColorTransProp(*trans, st.find("bb"), &newTrans.m_[2][1], false);
+       parseColorTransProp(*trans, st.find("ab"), &newTrans.m_[3][1], false);
 
        obj->setTransform(newTrans);
 
@@ -355,8 +354,7 @@
                if ( ! sp )
                {
                        // must be a target..
-                       as_environment& env = fn.env();
-                       character* ch = env.find_target(fn.arg(0).to_string());
+                       character* ch = 
fn.env().find_target(fn.arg(0).to_string());
                        if ( ch ) sp = ch->to_movie();
                }
 

Index: server/asobj/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Global.cpp,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -b -r1.76 -r1.77
--- server/asobj/Global.cpp     20 Nov 2007 00:44:04 -0000      1.76
+++ server/asobj/Global.cpp     20 Nov 2007 12:04:55 -0000      1.77
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: Global.cpp,v 1.76 2007/11/20 00:44:04 cmusick Exp $ */
+/* $Id: Global.cpp,v 1.77 2007/11/20 12:04:55 cmusick Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -304,9 +304,7 @@
 static as_value
 as_global_assetpropflags(const fn_call& fn)
 {
-    as_environment* env = &fn.env();
-    int version = env->get_version();
-    
+    int version = VM::get().getSWFVersion();
 
     //log_msg(_("ASSetPropFlags called with %d args"), fn.nargs);
 

Index: server/asobj/LoadVars.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/LoadVars.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- server/asobj/LoadVars.cpp   30 Oct 2007 18:55:43 -0000      1.32
+++ server/asobj/LoadVars.cpp   20 Nov 2007 12:04:55 -0000      1.33
@@ -65,7 +65,7 @@
        /// @param env
        ///     Environment to use for event handlers calls
        ///
-       LoadVars(as_environment* env);
+       LoadVars();
 
        ~LoadVars();
 
@@ -138,7 +138,7 @@
 
                if ( _onData ) _onData->setReachable();
 
-               if ( _env ) _env->markReachableResources();
+               _env.markReachableResources();
 
                // Invoke generic as_object marker
                markAsObjectReachable();
@@ -227,7 +227,7 @@
 
        boost::intrusive_ptr<as_function> _onData;
 
-       as_environment* _env;
+       as_environment _env;
 
        size_t _bytesTotal;
 
@@ -259,10 +259,10 @@
        unsigned int _loaded;
 };
 
-LoadVars::LoadVars(as_environment* env)
+LoadVars::LoadVars()
                :
                as_object(getLoadVarsInterface()),
-               _env(env),
+               _env(),
                _bytesTotal(0),
                _bytesLoaded(0),
                _loadRequests(),
@@ -352,7 +352,7 @@
        //log_msg("Calling _onData func");
        // This would be the function calls "context"
        // will likely be the same to all events
-       fn_call fn(this, _env, 0, 0);
+       fn_call fn(this, &_env, 0, 0);
 
        return _onData->call(fn);
 }
@@ -366,7 +366,7 @@
        //log_msg("Calling _onLoad func");
        // This would be the function calls "context"
        // will likely be the same to all events
-       fn_call fn(this, _env, 0, 0);
+       fn_call fn(this, &_env, 0, 0);
 
        return _onLoad->call(fn);
 }
@@ -656,7 +656,7 @@
 static as_value
 loadvars_ctor(const fn_call& fn)
 {
-       boost::intrusive_ptr<as_object> obj = new LoadVars(&fn.env());
+       boost::intrusive_ptr<as_object> obj = new LoadVars();
        
        return as_value(obj.get()); // will keep alive
 }

Index: server/asobj/MovieClipLoader.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/MovieClipLoader.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- server/asobj/MovieClipLoader.cpp    20 Nov 2007 10:31:39 -0000      1.36
+++ server/asobj/MovieClipLoader.cpp    20 Nov 2007 12:04:55 -0000      1.37
@@ -116,7 +116,7 @@
        struct mcl *getProgress(as_object *ao);
 
        /// MovieClip
-       bool loadClip(const std::string& url, sprite_instance& target, 
as_environment& env);
+       bool loadClip(const std::string& url, sprite_instance& target);
 
        void unloadClip(void *);
 
@@ -193,7 +193,7 @@
 
 
 bool
-MovieClipLoader::loadClip(const std::string& url_str, sprite_instance& target, 
as_environment& env)
+MovieClipLoader::loadClip(const std::string& url_str, sprite_instance& target)
 {
        // Prepare function call for events...
        //env.push(as_value(&target));
@@ -208,6 +208,7 @@
        // Call the callback since we've started loading the file
        // TODO: probably we should move this below, after 
        //       the loading thread actually started
+       as_environment env;
        dispatchEvent("onLoadStart", env, as_value(&target));
 
        bool ret = target.loadMovie(url);
@@ -270,8 +271,6 @@
 {
        as_value        val, method;
 
-       as_environment& env = fn.env();
-
        //log_msg(_("%s: nargs = %d"), __FUNCTION__, fn.nargs);
 
        boost::intrusive_ptr<MovieClipLoader> ptr = 
ensureType<MovieClipLoader>(fn.this_ptr);
@@ -309,7 +308,7 @@
                str_url.c_str(), (void*)sprite);
 #endif
 
-       bool ret = ptr->loadClip(str_url, *sprite, fn.env());
+       bool ret = ptr->loadClip(str_url, *sprite);
 
        return as_value(ret);
 

Index: server/asobj/Object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Object.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- server/asobj/Object.cpp     20 Nov 2007 00:44:04 -0000      1.36
+++ server/asobj/Object.cpp     20 Nov 2007 12:04:55 -0000      1.37
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: Object.cpp,v 1.36 2007/11/20 00:44:04 cmusick Exp $ */
+/* $Id: Object.cpp,v 1.37 2007/11/20 12:04:55 cmusick Exp $ */
 
 #include "tu_config.h"
 #include "Object.h"
@@ -296,7 +296,7 @@
 
        // TODO: check to *which* definition should we ask the export
        //       this code uses the *relative* root of current environment's 
target
-       movie_definition* def = 
fn.env().get_target()->get_root_movie()->get_movie_definition();
+       movie_definition* def = VM::get().getRoot().get_movie_definition();
        boost::intrusive_ptr<resource> exp_res = 
def->get_exported_resource(symbolid.c_str());
        if ( ! exp_res )
        {

Index: server/asobj/Sound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Sound.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- server/asobj/Sound.cpp      20 Nov 2007 00:44:04 -0000      1.21
+++ server/asobj/Sound.cpp      20 Nov 2007 12:04:55 -0000      1.22
@@ -30,6 +30,7 @@
 #include "GnashException.h"
 #include "builtin_function.h"
 #include "Object.h" // for getObjectInterface
+#include "VM.h"
 
 #ifdef SOUND_GST
 #include "SoundGst.h"
@@ -289,7 +290,7 @@
                const std::string& name = fn.arg(0).to_string();
 
                // check the import.
-               movie_definition* def = 
fn.env().get_target()->get_root_movie()->get_movie_definition();
+               movie_definition* def = 
VM::get().getRoot().get_movie_definition();
                assert(def);
                boost::intrusive_ptr<resource> res = 
def->get_exported_resource(name);
                if (res == NULL)
@@ -343,7 +344,7 @@
        }
 
        // check the import.
-       movie_definition* def = 
fn.env().get_target()->get_root_movie()->get_movie_definition();
+       movie_definition* def = VM::get().getRoot().get_movie_definition();
        assert(def);
        boost::intrusive_ptr<resource> res = def->get_exported_resource(name);
        if (res == NULL)

Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- server/asobj/string.cpp     20 Nov 2007 00:44:04 -0000      1.42
+++ server/asobj/string.cpp     20 Nov 2007 12:04:55 -0000      1.43
@@ -16,7 +16,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: string.cpp,v 1.42 2007/11/20 00:44:04 cmusick Exp $ */
+/* $Id: string.cpp,v 1.43 2007/11/20 12:04:55 cmusick Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -228,7 +228,7 @@
 
     boost::intrusive_ptr<as_array_object> array(new as_array_object());
 
-    int SWFVersion = fn.env().get_version();
+    int SWFVersion = VM::get().getSWFVersion();
 
     if (fn.nargs == 0)
     {
@@ -342,8 +342,6 @@
 
     ENSURE_FN_ARGS(1, 2, str);
 
-    as_environment& env = fn.env();
-
     int start = valid_index(str, fn.arg(0).to_int());
 
     int num = str.size();

Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- server/asobj/xml.cpp        20 Nov 2007 10:31:39 -0000      1.54
+++ server/asobj/xml.cpp        20 Nov 2007 12:04:56 -0000      1.55
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: xml.cpp,v 1.54 2007/11/20 10:31:39 cmusick Exp $ */
+/* $Id: xml.cpp,v 1.55 2007/11/20 12:04:56 cmusick Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -402,7 +402,7 @@
 }
 
 void
-XML::queueLoad(std::auto_ptr<tu_file> str,  as_environment& env)
+XML::queueLoad(std::auto_ptr<tu_file> str)
 {
        GNASH_REPORT_FUNCTION;
 
@@ -439,7 +439,7 @@
 // This reads in an XML file from disk and parses into into a memory resident
 // tree which can be walked through later.
 bool
-XML::load(const URL& url, as_environment& env)
+XML::load(const URL& url)
 {
     GNASH_REPORT_FUNCTION;
   
@@ -455,7 +455,7 @@
     }
 
     log_msg(_("Loading XML file from url: '%s'"), url.str().c_str());
-    queueLoad(str, env);
+    queueLoad(str);
 
     return true;
 }
@@ -539,7 +539,7 @@
 
     // Set the argument to the function event handler based on whether the load
     // was successful or failed.
-    ret = xml_obj->load(url, fn.env());
+    ret = xml_obj->load(url);
     rv = ret;
 
     if (ret == false) {
@@ -599,7 +599,7 @@
     {
         if ( fn.arg(0).is_object() )
         {
-            boost::intrusive_ptr<as_object> obj = fn.env().top(0).to_object();
+            boost::intrusive_ptr<as_object> obj = fn.arg(0).to_object();
             xml_obj = boost::dynamic_pointer_cast<XML>(obj);
             if ( xml_obj )
             {
@@ -782,7 +782,6 @@
     string_table& st = vm.getStringTable();
     string_table::key onLoadKey = st.find(PROPNAME("onLoad"));
     string_table::key loadedKey = st.find("loaded");
-    as_environment& env = fn.env();
 
     as_object* thisPtr = fn.this_ptr.get();
     assert(thisPtr);

Index: server/asobj/xml.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- server/asobj/xml.h  20 Oct 2007 10:47:14 -0000      1.21
+++ server/asobj/xml.h  20 Nov 2007 12:04:56 -0000      1.22
@@ -129,7 +129,7 @@
     //         The environment to use for calling event hadlers
     // TODO: what about 'this' pointer?
     //
-    bool load(const URL& url, as_environment& env);
+    bool load(const URL& url);
 
     // An event handler that returns a
     bool onLoad();
@@ -227,7 +227,7 @@
     void initParser();
 
     /// Queue a load request from the given stream
-    void queueLoad(std::auto_ptr<tu_file> str,  as_environment& env);
+    void queueLoad(std::auto_ptr<tu_file> str);
 
     //static void _xmlErrorHandler(void *ctx, const char* fmt, ...);
 };

Index: server/asobj/xmlsocket.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlsocket.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- server/asobj/xmlsocket.cpp  20 Nov 2007 10:31:40 -0000      1.38
+++ server/asobj/xmlsocket.cpp  20 Nov 2007 12:04:56 -0000      1.39
@@ -106,7 +106,7 @@
                /// The method will take care of polling from the
                /// socket and invoking any onData handler.
                ///
-               void checkForIncomingData(as_environment& env);
+               void checkForIncomingData();
 
         XMLSocket obj;
 
@@ -455,7 +455,6 @@
     // XMLSocket.connect() returned in these cases.
     //
     log_debug(_("XMLSocket.connect(): tring to call onConnect"));
-    as_environment& env = fn.env();
     ptr->callMethod(st.find(PROPNAME("onConnect")), success);
            
     if ( success )
@@ -533,7 +532,7 @@
         return as_value();
     }
 
-    ptr->checkForIncomingData(fn.env());
+    ptr->checkForIncomingData();
 
     return as_value();
 }
@@ -556,7 +555,6 @@
         return as_value();
     }
 
-    as_environment& env = fn.env();
     const std::string& xmlin = fn.arg(0).to_string();
 
     if ( xmlin.empty() )
@@ -641,7 +639,7 @@
 }
 
 void
-xmlsocket_as_object::checkForIncomingData(as_environment& env)
+xmlsocket_as_object::checkForIncomingData()
 {
     assert(obj.connected());
 
@@ -676,8 +674,11 @@
 #ifndef USE_DMALLOC
                 //dump_memory_stats(__FUNCTION__, __LINE__, "start");
 #endif
+                               as_environment env;
                 env.push(datain);
-                call_method(as_value(onDataHandler.get()), &env, this, 1, 
env.stack_size()-1);
+                               fn_call call(this, &env, 1, env.stack_size() - 
1);
+                               onDataHandler->call(call);
+//                call_method(as_value(onDataHandler.get()), &env, this, 1, 
env.stack_size()-1);
 
 #ifndef USE_DMALLOC
                 //dump_memory_stats(__FUNCTION__, __LINE__, "end");




reply via email to

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