gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r11638: Fix regression introduced by


From: Benjamin Wolsey
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r11638: Fix regression introduced by commit 11561.1.43. TextField variables were
Date: Fri, 20 Nov 2009 13:03:05 +0100
User-agent: Bazaar (1.16.1)

------------------------------------------------------------
revno: 11638 [merge]
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Fri 2009-11-20 13:03:05 +0100
message:
  Fix regression introduced by commit 11561.1.43. TextField variables were
  not handled properly, breaking circlo game.
modified:
  libcore/MovieClip.cpp
  libcore/as_object.cpp
=== modified file 'libcore/MovieClip.cpp'
--- a/libcore/MovieClip.cpp     2009-11-18 11:51:35 +0000
+++ b/libcore/MovieClip.cpp     2009-11-20 11:36:15 +0000
@@ -752,37 +752,23 @@
         string_table::key /*nsname*/)
 {
 
-    bool found = false;
-
     // Try textfield variables
     //
     // FIXME: Turn textfield variables into Getter/Setters (Properties)
-    //                so that as_object::set_member will do this automatically.
-    //                The problem is that setting a TextVariable named after
-    //                a builtin property will prevent *any* setting for the
-    //                property (ie: have a textfield use _x as variable name 
and
-    //                be scared)
-    //
-    TextFields* etc = 
get_textfield_variable(getStringTable(*getObject(this)).value(name));
-    if ( etc )
-    {
-#ifdef DEBUG_DYNTEXT_VARIABLES
-        log_debug(_("it's a Text Variable, associated with %d TextFields"), 
etc->size());
-#endif
-        for (TextFields::iterator i=etc->begin(), e=etc->end(); i!=e; ++i)
-        {
-            (*i)->updateText(val.to_string());
-        }
-        found = true;
-    }
-#ifdef DEBUG_DYNTEXT_VARIABLES
-    else
-    {
-        log_debug(_("it's NOT a Text Variable"));
-    }
-#endif
-
-    return found;
+    //           so that as_object::set_member will do this automatically.
+    //           The problem is that setting a TextVariable named after
+    //           a builtin property will prevent *any* setting for the
+    //           property (ie: have a textfield use _x as variable name and
+    //           be scared)
+    TextFields* etc = get_textfield_variable(
+            getStringTable(*getObject(this)).value(name));
+
+    if (!etc) return false;
+
+    for (TextFields::iterator i=etc->begin(), e=etc->end(); i!=e; ++i) {
+        (*i)->updateText(val.to_string());
+    }
+    return true;
 }
 
 /// Remove the 'contents' of the MovieClip, but leave properties and

=== modified file 'libcore/as_object.cpp'
--- a/libcore/as_object.cpp     2009-11-20 11:11:54 +0000
+++ b/libcore/as_object.cpp     2009-11-20 11:34:33 +0000
@@ -711,10 +711,6 @@
                return true;
        }
 
-    // Return true if we found a textfield variable, even if it was not
-    // an own property.
-    if (tfVarFound) return true;
-
        // Else, add new property...
        if (ifFound) return false;
 
@@ -730,6 +726,9 @@
 
     executeTriggers(prop, uri, val);
 
+    // Return true if we found a textfield variable.
+    if (tfVarFound) return true;
+
        return false;
 }
 


reply via email to

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