gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...
Date: Tue, 01 Apr 2008 18:51:31 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/01 18:51:31

Modified files:
        .              : ChangeLog 
        server         : edit_text_character.cpp edit_text_character.h 
                         sprite_instance.cpp 

Log message:
                * server/edit_text_character.{cpp,h}: always register
                  the variable name, just don't set a value for it
                  unless we have one defined.
                * server/sprite_instance.cpp (get_member): don't use
                  a registered textfield variable if there's no text
                  defined for the corresponding textfield.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6140&r2=1.6141
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.160&r2=1.161
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.h?cvsroot=gnash&r1=1.71&r2=1.72
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.493&r2=1.494

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6140
retrieving revision 1.6141
diff -u -b -r1.6140 -r1.6141
--- ChangeLog   1 Apr 2008 18:36:21 -0000       1.6140
+++ ChangeLog   1 Apr 2008 18:51:29 -0000       1.6141
@@ -1,5 +1,14 @@
 2008-04-01 Sandro Santilli <address@hidden>
 
+       * server/edit_text_character.{cpp,h}: always register
+         the variable name, just don't set a value for it
+         unless we have one defined.
+       * server/sprite_instance.cpp (get_member): don't use
+         a registered textfield variable if there's no text
+         defined for the corresponding textfield.
+
+2008-04-01 Sandro Santilli <address@hidden>
+
        * server/sprite_instance.{cpp,h}: streamline headers inclusion.
        * server/edit_text_character.{cpp,h}: keep note about whether
          text is defined, and don't register the text variable until

Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -b -r1.160 -r1.161
--- server/edit_text_character.cpp      1 Apr 2008 18:36:21 -0000       1.160
+++ server/edit_text_character.cpp      1 Apr 2008 18:51:30 -0000       1.161
@@ -419,9 +419,10 @@
        if ( _textDefined ) 
        {
                
setTextValue(utf8::decodeCanonicalString(m_def->get_default_text(), version));
-               registerTextVariable();
        }
 
+       registerTextVariable();
+
        m_dummy_style.push_back(fill_style());
 
        reset_bounding_box(0, 0);
@@ -1583,20 +1584,12 @@
 void
 edit_text_character::registerTextVariable() 
 {
-//#define DEBUG_DYNTEXT_VARIABLES 1
+#define DEBUG_DYNTEXT_VARIABLES 1
 
 #ifdef DEBUG_DYNTEXT_VARIABLES
        log_debug(_("registerTextVariable() called"));
 #endif
 
-       if ( ! _textDefined )
-       {
-#ifdef DEBUG_DYNTEXT_VARIABLES
-               log_debug(_("registerTextVariable() no-op call (has no text)"));
-#endif
-               return;
-       }
-
        if ( _text_variable_registered )
        {
 #ifdef DEBUG_DYNTEXT_VARIABLES
@@ -1642,16 +1635,23 @@
                // as_environment& env = get_environment();
                setTextValue(utf8::decodeCanonicalString(val.to_string(), 
version));
        }
-       else
+       else if ( _textDefined )
        {
                as_value newVal = as_value(utf8::encodeCanonicalString(_text, 
version));
 #ifdef DEBUG_DYNTEXT_VARIABLES
                log_debug(_("target sprite (%s @ %p) does NOT have a member 
named %s (no problem, we'll add it with value %s)"),
-                       typeName(*target).c_str(), (void*)target, 
_vm.getStringTable().value(key).c_str(),
-                       newVal.to_debug_string().c_str());
+                       typeName(*target), (void*)target, 
_vm.getStringTable().value(key),
+                       newVal.to_debug_string());
 #endif
                target->set_member(key, newVal);
        }
+       else
+       {
+#ifdef DEBUG_DYNTEXT_VARIABLES
+               log_debug(_("target sprite (%s @ %p) does NOT have a member 
named %s, and we don't have text defined"),
+                       typeName(*target), (void*)target, 
_vm.getStringTable().value(key));
+#endif
+       }
 
        sprite_instance* sprite = target->to_movie();
 
@@ -1660,7 +1660,7 @@
                // add the textfield variable to the target sprite
                // TODO: have set_textfield_variable take a string_table::key 
instead ?
 #ifdef DEBUG_DYNTEXT_VARIABLES
-               log_debug("Calling set_textfield_variable(%s) against sprite 
%s", _vm.getStringTable().value(key).c_str(), sprite->getTarget().c_str());
+               log_debug("Calling set_textfield_variable(%s) against sprite 
%s", _vm.getStringTable().value(key), sprite->getTarget());
 #endif
                sprite->set_textfield_variable(_vm.getStringTable().value(key), 
this);
 

Index: server/edit_text_character.h
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.h,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- server/edit_text_character.h        1 Apr 2008 18:36:21 -0000       1.71
+++ server/edit_text_character.h        1 Apr 2008 18:51:30 -0000       1.72
@@ -115,8 +115,8 @@
        /// Return value of our text.
        std::string get_text_value() const;
 
-       /// Return true if this TextField has text defined
-       bool getTextDefined();
+       /// Return true if text is defined
+       bool getTextDefined() const { return _textDefined; }
 
        /// We have a "text" member.
        void set_member(string_table::key name, const as_value& val, 

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.493
retrieving revision 1.494
diff -u -b -r1.493 -r1.494
--- server/sprite_instance.cpp  1 Apr 2008 18:36:22 -0000       1.493
+++ server/sprite_instance.cpp  1 Apr 2008 18:51:30 -0000       1.494
@@ -2375,11 +2375,13 @@
     for (TextFieldPtrVect::const_iterator i=etc->begin(), e=etc->end(); i!=e; 
++i)
     {
        TextFieldPtr tf = *i;
+       if ( tf->getTextDefined() )
+       {
        val->set_string(tf->get_text_value());
-       // break ?
-    }
     return true;
   }
+    }
+  }
 
   return false;
 




reply via email to

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