gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/character.h server/edit_...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/character.h server/edit_...
Date: Mon, 23 Oct 2006 19:03:46 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/10/23 19:03:46

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

Log message:
        * server/server/edit_text_character.cpp (registerTextVariable):
          don't assume our parent is a sprite, use the new get_environment()
          function to get to a variable scope instead.
        * server/character.h: added get_environment virtual function
          (every character should have an associated variable scope)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1368&r2=1.1369
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.31&r2=1.32

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1368
retrieving revision 1.1369
diff -u -b -r1.1368 -r1.1369
--- ChangeLog   23 Oct 2006 18:54:10 -0000      1.1368
+++ ChangeLog   23 Oct 2006 19:03:46 -0000      1.1369
@@ -1,5 +1,10 @@
 2006-10-23 Sandro Santilli <address@hidden>
 
+       * server/server/edit_text_character.cpp (registerTextVariable):
+         don't assume our parent is a sprite, use the new get_environment()
+         function to get to a variable scope instead.
+       * server/character.h: added get_environment virtual function
+         (every character should have an associated variable scope)
        * testsuite/misc-ming.all/ButtonEventsTest-Runner.cpp: add checks
          for MouseOverMouseEntity.
        * testsuite/MovieTester.{cpp,h}: added isMouseOverMouseEntity() method.

Index: server/character.h
===================================================================
RCS file: /sources/gnash/gnash/server/character.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/character.h  18 Oct 2006 18:16:01 -0000      1.22
+++ server/character.h  23 Oct 2006 19:03:46 -0000      1.23
@@ -36,7 +36,7 @@
 //
 //
 
-/* $Id: character.h,v 1.22 2006/10/18 18:16:01 udog Exp $ */
+/* $Id: character.h,v 1.23 2006/10/23 19:03:46 strk Exp $ */
 
 #ifndef GNASH_CHARACTER_H
 #define GNASH_CHARACTER_H
@@ -112,6 +112,18 @@
                   || (parent != NULL && m_id >= 0));
        }
 
+       /// Return a reference to the variable scope of this character.
+       //
+       /// TODO: make const/return const& ?
+       ///
+       virtual as_environment& get_environment() {
+               // sprite_instance must override this
+               // and any other character will have
+               // a parent!
+               assert(m_parent);
+               return m_parent->get_environment();
+       }
+
     // Accessors for basic display info.
     int        get_id() const { return m_id; }
 

Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- server/edit_text_character.cpp      18 Oct 2006 18:16:01 -0000      1.21
+++ server/edit_text_character.cpp      23 Oct 2006 19:03:46 -0000      1.22
@@ -3,7 +3,7 @@
 // This source code has been donated to the Public Domain.  Do
 // whatever you want with it.
 
-/* $Id: edit_text_character.cpp,v 1.21 2006/10/18 18:16:01 udog Exp $ */
+/* $Id: edit_text_character.cpp,v 1.22 2006/10/23 19:03:46 strk Exp $ */
 
 #include "utf8.h"
 #include "log.h"
@@ -815,27 +815,27 @@
 
        const char* varname = var_str.c_str();
 
-       // Default target is our parent
-       character* parent = get_parent();
-       assert(dynamic_cast<sprite_instance*>(parent));
-       sprite_instance* sprite = static_cast<sprite_instance*>(parent);
+       as_environment& env = get_environment();
 
-       // If the variable string contains a path, we extract
-       // the appropriate target from it.
+       character* target = env.get_target();
 
+       // If the variable string contains a path, we extract
+       // the appropriate target from it and update the variable
+       // name
        tu_string path, var;
        if ( as_environment::parse_path(varname, path, var) )
        {
                // find target for the path component
                // we use our parent's environment for this
-               character* tgt_char = 
sprite->get_environment().find_target(path);
-               assert(dynamic_cast<sprite_instance*>(tgt_char));
-               sprite = static_cast<sprite_instance*>(tgt_char);
+               target = env.find_target(path);
 
                // update varname (with path component stripped)
                varname = var.c_str();
        }
 
+       assert(dynamic_cast<sprite_instance*>(target));
+       sprite_instance* sprite = static_cast<sprite_instance*>(target);
+
 
        // check if the VariableName already has a value,
        // in that case update text value

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- server/sprite_instance.h    12 Oct 2006 16:37:25 -0000      1.31
+++ server/sprite_instance.h    23 Oct 2006 19:03:46 -0000      1.32
@@ -35,7 +35,7 @@
 // 
 //
 
-/* $Id: sprite_instance.h,v 1.31 2006/10/12 16:37:25 udog Exp $ */
+/* $Id: sprite_instance.h,v 1.32 2006/10/23 19:03:46 strk Exp $ */
 
 // Stateful live Sprite instance
 
@@ -484,6 +484,7 @@
                }
        }
 
+       // inherited from character class, see dox in character.h
        as_environment& get_environment() {
                return m_as_environment;
        }




reply via email to

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