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. 24e90eb9c91394531538


From: Benjamin Wolsey
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. 24e90eb9c913945315389c2999d728d02064849d
Date: Sat, 25 Sep 2010 09:39:46 +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  24e90eb9c913945315389c2999d728d02064849d (commit)
      from  5f0dbb679377e2dee8e8b742395494d1b75d864e (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=24e90eb9c913945315389c2999d728d02064849d


commit 24e90eb9c913945315389c2999d728d02064849d
Author: Benjamin Wolsey <address@hidden>
Date:   Sat Sep 25 11:39:27 2010 +0200

    Don't look __resolve up twice.

diff --git a/libcore/as_object.cpp b/libcore/as_object.cpp
index a85f119..570c519 100644
--- a/libcore/as_object.cpp
+++ b/libcore/as_object.cpp
@@ -408,17 +408,23 @@ as_object::get_member(const ObjectURI& uri, as_value* val)
     // inheritance chain, try the __resolve property.
     if (!prop) {
 
-        prop = findProperty(NSV::PROP_uuRESOLVE);
-        if (!prop) return false;
+        Property* res = findProperty(NSV::PROP_uuRESOLVE);
+        
+        // No __resolve
+        if (!res) return false;
 
-        /// If __resolve exists, call it with the name of the undefined
-        /// property.
+        // If __resolve exists, call it with the name of the undefined
+        // property.
         string_table& st = getStringTable(*this);
         const std::string& undefinedName = st.value(getName(uri));
-        log_debug("__resolve exists, calling with '%s'", undefinedName);
 
-        // TODO: we've found the property, don't search for it again.
-        *val = callMethod(this, NSV::PROP_uuRESOLVE, undefinedName);
+        fn_call::Args args;
+        args += undefinedName;
+
+        // Invoke the __resolve property.
+        *val = invoke(res->getValue(*this), as_environment(getVM(*this)),
+                this, args);
+
         return true;
     }
 

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

Summary of changes:
 libcore/as_object.cpp |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

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