gnash-commit
[Top][All Lists]
Advanced

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

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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/as_value.cpp
Date: Fri, 24 Aug 2007 13:55:08 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/08/24 13:55:08

Modified files:
        .              : ChangeLog 
        server         : as_value.cpp 

Log message:
                * server/as_value.cpp: fix build when MOVIECLIP_AS_SOFTREF is
                  undefined.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4095&r2=1.4096
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_value.cpp?cvsroot=gnash&r1=1.64&r2=1.65

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4095
retrieving revision 1.4096
diff -u -b -r1.4095 -r1.4096
--- ChangeLog   24 Aug 2007 10:46:10 -0000      1.4095
+++ ChangeLog   24 Aug 2007 13:55:07 -0000      1.4096
@@ -1,5 +1,7 @@
 2007-08-24 Sandro Santilli <address@hidden>
 
+       * server/as_value.cpp: fix build when MOVIECLIP_AS_SOFTREF is
+         undefined.
        * server/swf/PlaceObject2Tag.cpp (loader): remove unused variable.
        * server/as_environment.{cpp,h}: use a static const for expressing
          number of global registers.

Index: server/as_value.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_value.cpp,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- server/as_value.cpp 6 Aug 2007 20:42:57 -0000       1.64
+++ server/as_value.cpp 24 Aug 2007 13:55:08 -0000      1.65
@@ -69,14 +69,6 @@
     }
 }
 
-#if 0
-std::string
-as_value::to_std_string(as_environment* env) const
-{
-    return to_string(env);
-}
-#endif
-
 // Conversion to const std::string&.
 const std::string&
 as_value::to_string(as_environment* env) const
@@ -85,9 +77,22 @@
        {
 
                case STRING:
+                       /* don't need to do anything */
+                       break;
+
                case MOVIECLIP:
+               {
+#ifdef MOVIECLIP_AS_SOFTREF
                        /* don't need to do anything */
+#else
+                       sprite_instance* sp = m_object_value->to_movie();
+                       assert(sp); // or return as in to_sprite() ?
+                       if ( sp ) {
+                               m_string_value = sp->getTarget();
+                       }
+#endif
                        break;
+               }
 
                case NUMBER:
                        m_string_value = doubleToString(m_number_value);
@@ -503,7 +508,7 @@
 
 #ifndef MOVIECLIP_AS_SOFTREF
        sprite_instance* sp = m_object_value->to_movie();
-       if ( ! sp ) return NULL;
+       if ( ! sp ) return NULL; // shoudl we assert(sp) instead ?
        if ( sp->isUnloaded() )
        {
                log_error(_("MovieClip value is a dangling reference: "
@@ -817,6 +822,10 @@
 bool
 as_value::equalsSameType(const as_value& v) const
 {
+#ifdef GNASH_DEBUG_EQUALITY
+    static int count=0;
+    log_debug("equalsSameType(%s, %s) called [%d]", to_debug_string().c_str(), 
v.to_debug_string().c_str(), count++);
+#endif
        assert(m_type == v.m_type);
        switch (m_type)
        {
@@ -832,8 +841,14 @@
                        return m_boolean_value == v.m_boolean_value;
 
                case STRING:
+                       return m_string_value == v.m_string_value;
+
                case MOVIECLIP:
+#ifdef MOVIECLIP_AS_SOFTREF
                        return m_string_value == v.m_string_value;
+#else
+                       return m_object_value == v.m_object_value;
+#endif
 
                case NUMBER:
                {
@@ -912,7 +927,9 @@
        else if (v.m_type == MOVIECLIP)
        {
 #ifndef MOVIECLIP_AS_SOFTREF
-               set_sprite(*(v.to_sprite()));
+               sprite_instance* sp = 
dynamic_cast<sprite_instance*>(v.m_object_value);
+               assert(sp);
+               set_sprite(*sp);
 #else
                set_sprite(v.m_string_value);
 #endif
@@ -1094,7 +1111,11 @@
 as_value::setReachable() const
 {
 #ifdef GNASH_USE_GC
+#ifdef MOVIECLIP_AS_SOFTREF
        if ( m_type == OBJECT || m_type == AS_FUNCTION )
+#else
+       if ( m_type == OBJECT || m_type == AS_FUNCTION || m_type == MOVIECLIP)
+#endif
        {
                m_object_value->setReachable();
        }




reply via email to

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