gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] [SCM] Gnash branch, master, updated. 78e1d59ce869df54dbf3


From: Benjamin Wolsey
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. 78e1d59ce869df54dbf3af7df3929273a9349499
Date: Tue, 19 Oct 2010 15:44:17 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, master has been updated
       via  78e1d59ce869df54dbf3af7df3929273a9349499 (commit)
       via  62490510be48ca9b1849af1b390531ce92fa88d5 (commit)
       via  b6be4a325ba231aec58f4a62ade9742bc5b8d407 (commit)
       via  e8cb797041f1b17662f0dcf45b627894fb0a0abd (commit)
       via  360b8cebaa1edb5052493d2927eb724397c52c52 (commit)
       via  d69d1f05f74f90486b21587bf88c598cc7c71525 (commit)
      from  3222174d3368ccb2b78149586df76da72ef1d254 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=78e1d59ce869df54dbf3af7df3929273a9349499


commit 78e1d59ce869df54dbf3af7df3929273a9349499
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 17:41:00 2010 +0200

    Document, change include order.

diff --git a/libcore/as_object.h b/libcore/as_object.h
index cb0fd0f..a7ad034 100644
--- a/libcore/as_object.h
+++ b/libcore/as_object.h
@@ -23,13 +23,6 @@
 #include "gnashconfig.h"
 #endif
 
-#include "string_table.h"
-#include "GC.h" // for inheritance from GcResource (to complete)
-#include "PropertyList.h"
-#include "PropFlags.h"
-#include "Relay.h"
-#include "ObjectURI.h"
-
 #include <map>
 #include <vector>
 #include <cmath>
@@ -39,6 +32,13 @@
 #include <boost/scoped_ptr.hpp>
 #include <boost/noncopyable.hpp>
 
+#include "string_table.h"
+#include "GC.h" // for inheritance from GcResource (to complete)
+#include "PropertyList.h"
+#include "PropFlags.h"
+#include "Relay.h"
+#include "ObjectURI.h"
+
 // Forward declarations
 namespace gnash {
     class as_function;
@@ -886,12 +886,9 @@ isNativeType(as_object* obj, T*& relay)
 
 /// This is used to hold an intermediate copy of an as_object's properties.
 //
-/// AS enumerates in reverse order of creation. In order to make sure
-/// that the properties are in the correct order, the first element of
-/// a SortedPropertyList should hold the last created property.
-//
-/// We use a deque because we push to the front in order to preserve the
-/// ordering for the copy.
+/// AS enumerates in reverse order of creation because these values are
+/// pushed to the stack. The first value to be popped is then the oldest
+/// property.
 typedef std::vector<std::pair<ObjectURI, as_value> > SortedPropertyList;
     
 /// Enumerate all non-hidden properties to the passed container
@@ -901,7 +898,13 @@ typedef std::vector<std::pair<ObjectURI, as_value> > 
SortedPropertyList;
 //
 /// The enumeration recurses through the prototype chain. This implementation
 /// will keep track of visited object to avoid infinite loops in the
-/// prototype chain.  NOTE: the MM player just chokes in this case.
+/// prototype chain.  NOTE: the Adobe player just chokes in this case.
+//
+/// Note that the last element of the returned container is the oldest
+/// property, so iterate in reverse to mimic AS behaviour.
+//
+/// @param o        The object whose properties should be enumerated.
+/// @return         A list of properties in reverse creation order.
 SortedPropertyList enumerateProperties(as_object& o);
 
 /// Get the VM from an as_object.

http://git.savannah.gnu.org/cgit//commit/?id=62490510be48ca9b1849af1b390531ce92fa88d5


commit 62490510be48ca9b1849af1b390531ce92fa88d5
Merge: b6be4a3 3222174
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 17:39:04 2010 +0200

    Merge branch 'master' of git.sv.gnu.org:/srv/git/gnash


http://git.savannah.gnu.org/cgit//commit/?id=b6be4a325ba231aec58f4a62ade9742bc5b8d407


commit b6be4a325ba231aec58f4a62ade9742bc5b8d407
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 17:28:24 2010 +0200

    Return by value, use a vector, and use ObjectURI.

diff --git a/libcore/MovieClip.cpp b/libcore/MovieClip.cpp
index 27c5019..0afc117 100644
--- a/libcore/MovieClip.cpp
+++ b/libcore/MovieClip.cpp
@@ -1930,24 +1930,21 @@ MovieClip::loadVariables(const std::string& urlstr,
     
     // Encode our vars for sending.
     if (sendVarsMethod != METHOD_NONE) {
-        getURLEncodedVars(*getObject(this), postdata);
+        postdata = getURLEncodedVars(*getObject(this));
     }
 
-    try 
-    {
-        const StreamProvider& sp = 
getRunResources(*getObject(this)).streamProvider();
+    try {
+        const StreamProvider& sp = 
+            getRunResources(*getObject(this)).streamProvider();
         
-        if (sendVarsMethod == METHOD_POST)
-        {
+        if (sendVarsMethod == METHOD_POST) {
             // use POST method
             _loadVariableRequests.push_back(
                     new LoadVariablesThread(sp, url, postdata));
         }
-        else
-        {
+        else {
             // use GET method
-            if (sendVarsMethod == METHOD_GET)
-            {
+            if (sendVarsMethod == METHOD_GET) {
                 // Append variables
                 std::string qs = url.querystring();
                 if (qs.empty()) url.set_querystring(postdata);
diff --git a/libcore/as_object.cpp b/libcore/as_object.cpp
index 3019904..9b089b3 100644
--- a/libcore/as_object.cpp
+++ b/libcore/as_object.cpp
@@ -260,27 +260,20 @@ private:
 class PropertyEnumerator : public PropertyVisitor
 {
 public:
-    PropertyEnumerator(const as_object& this_ptr,
-                       as_object::SortedPropertyList& to)
+    PropertyEnumerator(SortedPropertyList& to)
         :
-        _version(getSWFVersion(this_ptr)),
-        _st(getStringTable(this_ptr)),
         _to(to)
     {}
 
     bool accept(const ObjectURI& uri, const as_value& val) {
-        _to.push_front(std::make_pair(_st.value(getName(uri)),
-                                      val));
+        _to.push_back(std::make_pair(uri, val));
         return true;
     }
-
 private:
-    const int _version;
-    string_table& _st;
-    as_object::SortedPropertyList& _to;
+    SortedPropertyList& _to;
 };
 
-} // end of anonymous namespace
+} // anonymous namespace
 
 
 const int as_object::DefaultFlags;
@@ -930,23 +923,6 @@ as_object::visitKeys(KeyVisitor& visitor) const
     }
 }
 
-void
-enumerateProperties(as_object& obj, as_object::SortedPropertyList& to)
-{
-
-    // this set will keep track of visited objects,
-    // to avoid infinite loops
-    std::set<as_object*> visited;
-
-    PropertyEnumerator e(obj, to);
-    as_object* current(&obj);
-
-    while (current && visited.insert(current).second) {
-        current->visitProperties<IsEnumerable>(e);
-        current = current->get_prototype();
-    }
-
-}
 
 Property*
 as_object::getOwnProperty(const ObjectURI& uri)
@@ -968,26 +944,30 @@ as_object::get_prototype() const
     return toObject(proto, getVM(*this));
 }
 
-void
-getURLEncodedVars(as_object& o, std::string& data)
+std::string
+getURLEncodedVars(as_object& o)
 {
-    as_object::SortedPropertyList props;
-    enumerateProperties(o, props);
+    SortedPropertyList props = enumerateProperties(o);
 
-    std::string del;
-    data.clear();
+    std::string data;
+    string_table& st = getStringTable(o);
     
-    for (as_object::SortedPropertyList::const_iterator i=props.begin(),
-            e=props.end(); i!=e; ++i) {
-        std::string name = i->first;
-        std::string value = i->second.to_string();
-        if (!name.empty() && name[0] == '$') continue; // see bug #22006
+    for (SortedPropertyList::const_reverse_iterator i = props.rbegin(),
+            e = props.rend(); i != e; ++i) {
+
+        const std::string& name = i->first.toString(st);
+        const std::string& value = i->second.to_string();
+        
+        // see bug #22006
+        if (!name.empty() && name[0] == '$') continue; 
+
         URL::encode(value);
+        if (i != props.rbegin()) data += '&';
 
-        data += del + name + "=" + value;
+        data += name + "=" + value;
 
-        del = "&";
     }
+    return data;
 }
 
 bool
@@ -1089,6 +1069,26 @@ Trigger::call(const as_value& oldval, const as_value& 
newval,
     }
 }
 
+SortedPropertyList
+enumerateProperties(as_object& obj)
+{
+
+    // this set will keep track of visited objects,
+    // to avoid infinite loops
+    std::set<as_object*> visited;
+
+    SortedPropertyList to;
+    PropertyEnumerator e(to);
+    as_object* current(&obj);
+
+    while (current && visited.insert(current).second) {
+        current->visitProperties<IsEnumerable>(e);
+        current = current->get_prototype();
+    }
+    return to;
+
+}
+
 as_object*
 getPathElement(as_object& o, const ObjectURI& uri)
 {
diff --git a/libcore/as_object.h b/libcore/as_object.h
index 8d8e9dd..cb0fd0f 100644
--- a/libcore/as_object.h
+++ b/libcore/as_object.h
@@ -38,7 +38,6 @@
 #include <sstream>
 #include <boost/scoped_ptr.hpp>
 #include <boost/noncopyable.hpp>
-#include <deque>
 
 // Forward declarations
 namespace gnash {
@@ -165,18 +164,6 @@ class as_object : public GcResource, boost::noncopyable
 
 public:
     
-    typedef std::pair<std::string, as_value> KeyValuePair;
-
-    /// This is used to hold an intermediate copy of an as_object's properties.
-    //
-    /// AS enumerates in reverse order of creation. In order to make sure
-    /// that the properties are in the correct order, the first element of
-    /// a SortedPropertyList should hold the last created property.
-    //
-    /// We use a deque because we push to the front in order to preserve the
-    /// ordering for the copy.
-    typedef std::deque<KeyValuePair> SortedPropertyList;
-    
     /// Construct an ActionScript object with no prototype associated.
     //
     /// @param  global  A reference to the Global object the new
@@ -836,9 +823,9 @@ public:
 /// as non-enumerable ones.
 //
 /// @param o        The object whose properties should be encoded.
-/// @param data     Output parameter, will be set to the url-encoded
-///                 variables string without any leading delimiter.
-void getURLEncodedVars(as_object& o, std::string& data);
+/// @return         the url-encoded variables string without any leading
+///                 delimiter.
+std::string getURLEncodedVars(as_object& o);
 
 /// Resolve the given relative path component
 //
@@ -897,6 +884,16 @@ isNativeType(as_object* obj, T*& relay)
     return relay;
 }
 
+/// This is used to hold an intermediate copy of an as_object's properties.
+//
+/// AS enumerates in reverse order of creation. In order to make sure
+/// that the properties are in the correct order, the first element of
+/// a SortedPropertyList should hold the last created property.
+//
+/// We use a deque because we push to the front in order to preserve the
+/// ordering for the copy.
+typedef std::vector<std::pair<ObjectURI, as_value> > SortedPropertyList;
+    
 /// Enumerate all non-hidden properties to the passed container
 //
 /// NB: it is likely that this call will change the object, as accessing
@@ -905,7 +902,7 @@ isNativeType(as_object* obj, T*& relay)
 /// The enumeration recurses through the prototype chain. This implementation
 /// will keep track of visited object to avoid infinite loops in the
 /// prototype chain.  NOTE: the MM player just chokes in this case.
-void enumerateProperties(as_object& o, as_object::SortedPropertyList& to);
+SortedPropertyList enumerateProperties(as_object& o);
 
 /// Get the VM from an as_object.
 VM& getVM(const as_object& o);
diff --git a/libcore/asobj/LoadVars_as.cpp b/libcore/asobj/LoadVars_as.cpp
index 8184616..bbfda6b 100644
--- a/libcore/asobj/LoadVars_as.cpp
+++ b/libcore/asobj/LoadVars_as.cpp
@@ -124,23 +124,21 @@ loadvars_tostring(const fn_call& fn)
 {
        as_object* ptr = ensure<ValidThis>(fn);
 
-       typedef as_object::SortedPropertyList VarMap;
-       VarMap vars;
-
-       enumerateProperties(*ptr, vars);
+       SortedPropertyList vars = enumerateProperties(*ptr);
 
     as_object* global = &getGlobal(*ptr);
     std::ostringstream o;
     
-    const int ver = getSWFVersion(*global);
+    const int ver = getSWFVersion(fn);
+    string_table& st = getStringTable(fn);
 
     // LoadVars.toString() calls _global.escape().
-       for (VarMap::const_iterator it=vars.begin(), itEnd=vars.end();
-                       it != itEnd; ++it) {
+       for (SortedPropertyList::const_reverse_iterator it = vars.rbegin(),
+            itEnd = vars.rend(); it != itEnd; ++it) {
 
-        if (it != vars.begin()) o << "&";
+        if (it != vars.rbegin()) o << "&";
         const std::string& var = 
-            callMethod(global, NSV::PROP_ESCAPE, it->first).to_string();
+            callMethod(global, NSV::PROP_ESCAPE, 
it->first.toString(st)).to_string();
         const std::string& val = callMethod(global, NSV::PROP_ESCAPE,
             it->second.to_string(ver)).to_string();
         o << var << "=" << val;
diff --git a/libcore/asobj/MovieClip_as.cpp b/libcore/asobj/MovieClip_as.cpp
index bf6d5f7..4b32e49 100644
--- a/libcore/asobj/MovieClip_as.cpp
+++ b/libcore/asobj/MovieClip_as.cpp
@@ -907,7 +907,7 @@ movieclip_loadMovie(const fn_call& fn)
     // This is just an optimization if we aren't going
     // to send the data anyway. It might be wrong, though.
     if (method != MovieClip::METHOD_NONE) {
-        getURLEncodedVars(*getObject(dobj), data);
+        data = getURLEncodedVars(*getObject(dobj));
     }
  
     mr.loadMovie(urlstr, target, data, method);
@@ -1133,7 +1133,7 @@ movieclip_getURL(const fn_call& fn)
 
     if (method != MovieClip::METHOD_NONE) {
         // Get encoded vars.
-        getURLEncodedVars(*movieclip, vars);
+        vars = getURLEncodedVars(*movieclip);
     }
 
     movie_root& m = getRoot(fn);
diff --git a/libcore/asobj/XMLNode_as.cpp b/libcore/asobj/XMLNode_as.cpp
index 6f5156c..8dc90d5 100644
--- a/libcore/asobj/XMLNode_as.cpp
+++ b/libcore/asobj/XMLNode_as.cpp
@@ -993,20 +993,19 @@ xmlnode_childNodes(const fn_call& fn)
 
 
 void
-enumerateAttributes(const XMLNode_as& node,
-        StringPairs& pairs)
+enumerateAttributes(const XMLNode_as& node, StringPairs& pairs)
 {
     pairs.clear();
 
     as_object* obj = node.getAttributes();
     if (obj) {
-        as_object::SortedPropertyList attrs;
-        enumerateProperties(*obj, attrs);
-        for (as_object::SortedPropertyList::const_iterator i=attrs.begin(), 
-                e=attrs.end(); i!=e; ++i)
-        {
+        string_table& st = getStringTable(*obj);
+        SortedPropertyList attrs = enumerateProperties(*obj);
+        for (SortedPropertyList::const_reverse_iterator i = attrs.rbegin(), 
+                e = attrs.rend(); i != e; ++i) {
             // TODO: second argument should take version.
-            pairs.push_back(std::make_pair(i->first, i->second.to_string()));
+            pairs.push_back(
+                std::make_pair(i->first.toString(st), i->second.to_string()));
         }
     }
 
diff --git a/libcore/vm/ASHandlers.cpp b/libcore/vm/ASHandlers.cpp
index b7bf656..9bd7004 100644
--- a/libcore/vm/ASHandlers.cpp
+++ b/libcore/vm/ASHandlers.cpp
@@ -3788,7 +3788,7 @@ commonGetURL(as_environment& env, as_value target,
             log_error(_("commonGetURL: current target is undefined"));
             return;
         }
-        getURLEncodedVars(*curtgt, varsToSend);
+        varsToSend = getURLEncodedVars(*curtgt);
     }
 
 

http://git.savannah.gnu.org/cgit//commit/?id=e8cb797041f1b17662f0dcf45b627894fb0a0abd


commit e8cb797041f1b17662f0dcf45b627894fb0a0abd
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 16:42:11 2010 +0200

    Drop some functions.

diff --git a/libcore/PropertyList.cpp b/libcore/PropertyList.cpp
index cb55cf6..fbbc7a5 100644
--- a/libcore/PropertyList.cpp
+++ b/libcore/PropertyList.cpp
@@ -177,18 +177,6 @@ PropertyList::delProperty(const ObjectURI& uri)
 }
 
 void
-PropertyList::dump(std::map<std::string, as_value>& to) 
-{
-    ObjectURI::Logger l(getStringTable(_owner));
-
-       for (const_iterator i=_props.begin(), ie=_props.end();
-            i != ie; ++i)
-       {
-               to.insert(std::make_pair(l(i->uri()), i->getValue(_owner)));
-       }
-}
-
-void
 PropertyList::visitKeys(KeyVisitor& visitor, PropertyTracker& donelist)
     const
 {
diff --git a/libcore/PropertyList.h b/libcore/PropertyList.h
index 72c8546..4ff12fb 100644
--- a/libcore/PropertyList.h
+++ b/libcore/PropertyList.h
@@ -294,13 +294,6 @@ public:
     /// lexicographically by property.
     void dump();
 
-    /// Dump all members into the given map
-    //
-    /// This does not reflect the normal enumeration order. It is sorted
-    /// lexicographically by property.
-    ///
-    void dump(std::map<std::string, as_value>& to);
-
     /// Mark all properties reachable
     //
     /// This can be called very frequently, so is inlined to allow the
diff --git a/libcore/as_object.cpp b/libcore/as_object.cpp
index d41f9c9..3019904 100644
--- a/libcore/as_object.cpp
+++ b/libcore/as_object.cpp
@@ -481,7 +481,7 @@ as_object::get_super()
 }
 
 Property*
-as_object::findProperty(const ObjectURI& uri, as_object **owner)
+as_object::findProperty(const ObjectURI& uri, as_object** owner)
 {
 
     const int version = getSWFVersion(*this);
@@ -866,12 +866,6 @@ as_object::dump_members()
 }
 
 void
-as_object::dump_members(std::map<std::string, as_value>& to)
-{
-    _members.dump(to);
-}
-
-void
 as_object::setPropFlags(const as_value& props_val, int set_false, int set_true)
 {
 
diff --git a/libcore/as_object.h b/libcore/as_object.h
index f272af9..8d8e9dd 100644
--- a/libcore/as_object.h
+++ b/libcore/as_object.h
@@ -213,7 +213,7 @@ public:
     ///                 an inherited property.
     /// @returns        A property if found and visible, NULL if not found or
     ///                 not visible in current VM version
-    Property* findProperty(const ObjectURI& uri, as_object **owner = NULL);
+    Property* findProperty(const ObjectURI& uri, as_object** owner = 0);
 
     /// Return a reference to this as_object's global object.
     VM& vm() const {
@@ -229,15 +229,6 @@ public:
     /// Only use this function for temporary debugging!
     void dump_members();
 
-    /// Dump all properties into the given container
-    //
-    /// Note that it is very likely that this will result in changes to the
-    /// object, as accessing getter/setters or destructive properties can
-    /// modify properties.
-    //
-    /// Only use this function for temporary debugging!
-    void dump_members(std::map<std::string, as_value>& to);
-
     /// Set a member value
     //
     /// @param uri      Property identifier.

http://git.savannah.gnu.org/cgit//commit/?id=360b8cebaa1edb5052493d2927eb724397c52c52


commit 360b8cebaa1edb5052493d2927eb724397c52c52
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 16:30:42 2010 +0200

    Move get_path_element outside class altogether.

diff --git a/libcore/as_environment.cpp b/libcore/as_environment.cpp
index fea5252..8e01aee 100644
--- a/libcore/as_environment.cpp
+++ b/libcore/as_environment.cpp
@@ -113,7 +113,7 @@ getElement(as_object* obj, const ObjectURI& uri)
 {
     DisplayObject* d = obj->displayObject();
     if (d) return d->pathElement(uri);
-    return obj->get_path_element(uri);
+    return getPathElement(*obj, uri);
 }
 
 }
diff --git a/libcore/as_object.cpp b/libcore/as_object.cpp
index dd588da..d41f9c9 100644
--- a/libcore/as_object.cpp
+++ b/libcore/as_object.cpp
@@ -974,34 +974,6 @@ as_object::get_prototype() const
     return toObject(proto, getVM(*this));
 }
 
-as_object*
-as_object::get_path_element(const ObjectURI& uri)
-{
-//#define DEBUG_TARGET_FINDING 1
-
-#ifdef DEBUG_TARGET_FINDING 
-    ObjectURI::Logger l(getStringTable(*this));
-#endif
-
-    as_value tmp;
-    if (!get_member(uri, &tmp)) {
-#ifdef DEBUG_TARGET_FINDING 
-        log_debug("Member %s not found in object %p",
-                  l.debug(uri), (void*)this);
-#endif
-        return NULL;
-    }
-    if (!tmp.is_object()) {
-#ifdef DEBUG_TARGET_FINDING 
-        log_debug("Member %s of object %p is not an object (%s)",
-                  l.debug(uri), (void*)this, tmp);
-#endif
-        return NULL;
-    }
-    
-    return toObject(tmp, getVM(*this));
-}
-
 void
 getURLEncodedVars(as_object& o, std::string& data)
 {
@@ -1123,6 +1095,16 @@ Trigger::call(const as_value& oldval, const as_value& 
newval,
     }
 }
 
+as_object*
+getPathElement(as_object& o, const ObjectURI& uri)
+{
+    as_value tmp;
+    if (!o.get_member(uri, &tmp)) return 0;
+    if (!tmp.is_object()) return 0;
+    return toObject(tmp, getVM(o));
+}
+
+
 void
 sendEvent(as_object& o, const as_environment& env, const ObjectURI& name)
 {
diff --git a/libcore/as_object.h b/libcore/as_object.h
index 825d139..f272af9 100644
--- a/libcore/as_object.h
+++ b/libcore/as_object.h
@@ -449,15 +449,6 @@ public:
     /// @return         true if the named property was found, false otherwise.
     virtual bool get_member(const ObjectURI& uri, as_value* val);
 
-    /// Resolve the given relative path component
-    //
-    /// Path components are only objects, if the given string
-    /// points to a non-object member, NULL is returned.
-    ///
-    /// Main use if for getvariable and settarget resolution,
-    /// currently implemented in as_environment.
-    as_object* get_path_element(const ObjectURI& uri);
-
     /// Get the super object of this object.
     ///
     /// The super should be __proto__ if this is a prototype object
@@ -858,6 +849,15 @@ public:
 ///                 variables string without any leading delimiter.
 void getURLEncodedVars(as_object& o, std::string& data);
 
+/// Resolve the given relative path component
+//
+/// Path components are only objects, if the given string
+/// points to a non-object member, NULL is returned.
+///
+/// Main use if for getvariable and settarget resolution,
+/// currently implemented in as_environment.
+as_object* getPathElement(as_object& o, const ObjectURI& uri);
+
 
 /// Extract the DisplayObject attached to an object
 //
diff --git a/libcore/movie_root.cpp b/libcore/movie_root.cpp
index 2c0d9e5..154e9e8 100644
--- a/libcore/movie_root.cpp
+++ b/libcore/movie_root.cpp
@@ -2099,7 +2099,7 @@ movie_root::findCharacterByTarget(const std::string& 
tgtstr) const
         ObjectURI uri(st.find(part));
         o = o->displayObject() ?
             o->displayObject()->pathElement(uri) :
-            o->get_path_element(uri);
+            getPathElement(*o, uri);
 
         if (!o) {
 #ifdef GNASH_DEBUG_TARGET_RESOLUTION

http://git.savannah.gnu.org/cgit//commit/?id=d69d1f05f74f90486b21587bf88c598cc7c71525


commit d69d1f05f74f90486b21587bf88c598cc7c71525
Author: Benjamin Wolsey <address@hidden>
Date:   Tue Oct 19 16:24:07 2010 +0200

    Make function non-virtual.

diff --git a/libcore/as_object.h b/libcore/as_object.h
index 0a49e31..825d139 100644
--- a/libcore/as_object.h
+++ b/libcore/as_object.h
@@ -456,7 +456,7 @@ public:
     ///
     /// Main use if for getvariable and settarget resolution,
     /// currently implemented in as_environment.
-    virtual as_object* get_path_element(const ObjectURI& uri);
+    as_object* get_path_element(const ObjectURI& uri);
 
     /// Get the super object of this object.
     ///

-----------------------------------------------------------------------

Summary of changes:
 libcore/MovieClip.cpp          |   17 ++---
 libcore/PropertyList.cpp       |   12 ----
 libcore/PropertyList.h         |    7 --
 libcore/as_environment.cpp     |    2 +-
 libcore/as_object.cpp          |  124 ++++++++++++++++------------------------
 libcore/as_object.h            |   79 +++++++++++--------------
 libcore/asobj/LoadVars_as.cpp  |   16 ++---
 libcore/asobj/MovieClip_as.cpp |    4 +-
 libcore/asobj/XMLNode_as.cpp   |   15 ++---
 libcore/movie_root.cpp         |    2 +-
 libcore/vm/ASHandlers.cpp      |    2 +-
 11 files changed, 111 insertions(+), 169 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

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