gnash-commit
[Top][All Lists]
Advanced

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

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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp
Date: Sat, 10 Mar 2007 13:32:33 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/03/10 13:32:32

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 

Log message:
                * server/sprite_instance.cpp (add_display_object):
                  Only syntetize instance names for sprite instances
                  (fixes swfdec's names.swf testcase).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2597&r2=1.2598
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.193&r2=1.194

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2597
retrieving revision 1.2598
diff -u -b -r1.2597 -r1.2598
--- ChangeLog   9 Mar 2007 23:15:57 -0000       1.2597
+++ ChangeLog   10 Mar 2007 13:32:32 -0000      1.2598
@@ -1,3 +1,9 @@
+2007-03-10 Sandro Santilli <address@hidden>
+
+       * server/sprite_instance.cpp (add_display_object):
+         Only syntetize instance names for sprite instances
+         (fixes swfdec's names.swf testcase).
+
 2007-03-09 Tomas Groth Christensen <address@hidden>
 
        * libbase/LoadThread.h: Documented the class.

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -b -r1.193 -r1.194
--- server/sprite_instance.cpp  9 Mar 2007 15:00:59 -0000       1.193
+++ server/sprite_instance.cpp  10 Mar 2007 13:32:32 -0000      1.194
@@ -3106,15 +3106,19 @@
        boost::intrusive_ptr<character> ch = 
cdef->create_character_instance(this, character_id);
        assert(ch.get() != NULL);
 
-       // Syntetize an instance name if this character doesn't have one
-       // TODO: check if we need to do this *only* for sprite characters
-       //       also, consider asking for "nextInstanceName" to the character
-       //       definition...
-       std::string instance_name;
-       if ( name ) instance_name = name;
-       else instance_name = getNextUnnamedInstanceName();
-
+       if ( name )
+       {
+               ch->set_name(name);
+       }
+       else if ( ch->to_movie() )
+       {
+               // MovieClip instances *need* a name, to properly setup
+               // an as_value for them (values are kept by "target path"
+               // reference.  We syntetize an instance name in this case.
+               // TODO: check if we need to do this for other character types
+               std::string instance_name = getNextUnnamedInstanceName();
        ch->set_name(instance_name.c_str());
+       }
 
        // Attach event handlers (if any).
        for (size_t i = 0, n = event_handlers.size(); i < n; i++)
@@ -3153,7 +3157,7 @@
        if (cdef == NULL)
        {
                log_error("sprite::replace_display_object(): "
-                       "unknown cid = %d\n", character_id);
+                       "unknown cid = %d", character_id);
                return;
        }
        assert(cdef);




reply via email to

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