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 test...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...
Date: Wed, 26 Mar 2008 15:36:55 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/26 15:36:55

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 
        testsuite/misc-swfmill.all: zeroframe_definesprite.xml 

Log message:
        Still place 0-framed sprites on stage

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6027&r2=1.6028
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.489&r2=1.490
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-swfmill.all/zeroframe_definesprite.xml?cvsroot=gnash&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6027
retrieving revision 1.6028
diff -u -b -r1.6027 -r1.6028
--- ChangeLog   26 Mar 2008 14:15:17 -0000      1.6027
+++ ChangeLog   26 Mar 2008 15:36:54 -0000      1.6028
@@ -1,3 +1,10 @@
+2008-03-26 Sandro Santilli <address@hidden>
+
+       * server/sprite_instance.cpp (stagePlacementCallback): place also
+         sprites for which NO frame was loaded (tot frames 0).
+       * testsuite/misc-swfmill.all/zeroframe_definesprite.xml: don't
+         expect a failure.
+
 2008-03-26 Benjamin Wolsey <address@hidden>
 
        * testsuite/actionscript.all/Global.as: tests for int(). 

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.489
retrieving revision 1.490
diff -u -b -r1.489 -r1.490
--- server/sprite_instance.cpp  19 Mar 2008 22:16:44 -0000      1.489
+++ server/sprite_instance.cpp  26 Mar 2008 15:36:55 -0000      1.490
@@ -3952,19 +3952,6 @@
 
   saveOriginalTarget();
 
-  // We might have loaded NO frames !
-  if ( get_loaded_frames() == 0 )
-  {
-    IF_VERBOSE_MALFORMED_SWF(
-    static bool warned=false;
-    if ( ! warned ) {
-      log_swferror(_("stagePlacementCallback: no frames loaded for 
sprite/movie %s"), getTarget().c_str());
-      warned=true;
-    }
-    );
-    return;
-  }
-
 #ifdef GNASH_DEBUG
   log_debug(_("Sprite '%s' placed on stage"), getTarget().c_str());
 #endif
@@ -3975,8 +3962,22 @@
   // Register this sprite as a core broadcasters listener
   registerAsListener();
 
-  // We *might* avoid this, but better safe then sorry
-  m_def->ensure_frame_loaded(0);
+  // It seems it's legal to place 0-framed sprites on stage.
+  // See testsuite/misc-swfmill.all/zeroframe_definesprite.swf
+  //m_def->ensure_frame_loaded(0);
+
+  // We might have loaded NO frames !
+  bool hasFrames = get_loaded_frames();
+  if ( ! hasFrames )
+  {
+    IF_VERBOSE_MALFORMED_SWF(
+    static bool warned=false;
+    if ( ! warned ) {
+      log_swferror(_("stagePlacementCallback: no frames loaded for 
sprite/movie %s"), getTarget().c_str());
+      warned=true;
+    }
+    );
+  }
 
   // We execute events immediately when the stage-placed character is dynamic.
   // This is becase we assume that this means that the character is placed 
during
@@ -4020,10 +4021,13 @@
   assert(!_callingFrameActions); // or will not be queuing actions
   if ( get_parent() == 0 )
   {
+    if ( hasFrames )
+    {
 #ifdef GNASH_DEBUG
       log_debug(_("Executing tags of frame0 in sprite %s"), 
getTarget().c_str());
 #endif
       execute_frame_tags(0, TAG_DLIST|TAG_ACTION);
+    }
 
     if ( _vm.getSWFVersion() > 5 )
     {
@@ -4042,11 +4046,14 @@
 #endif
     queueEvent(event_id::LOAD, movie_root::apDOACTION);
 
+    if ( hasFrames )
+    {
 #ifdef GNASH_DEBUG
     log_debug(_("Executing tags of frame0 in sprite %s"), getTarget().c_str());
 #endif
     execute_frame_tags(0, TAG_DLIST|TAG_ACTION);
   }
+  }
 
 }
 

Index: testsuite/misc-swfmill.all/zeroframe_definesprite.xml
===================================================================
RCS file: 
/sources/gnash/gnash/testsuite/misc-swfmill.all/zeroframe_definesprite.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- testsuite/misc-swfmill.all/zeroframe_definesprite.xml       26 Mar 2008 
12:36:12 -0000      1.1
+++ testsuite/misc-swfmill.all/zeroframe_definesprite.xml       26 Mar 2008 
15:36:55 -0000      1.2
@@ -203,12 +203,9 @@
             <items>
               <!--
                 // NOTE: the number of characters in the next string push 
-                // DOES matter in the BranchIfTrue tag above, so when we'll
-                // succeed in this, an empty space must be added to replace
-                // the 'X' character removed.
-                // Yes, is NOT fun doing actionscript with swfmill...
+                // DOES matter in the BranchIfTrue tag above, so keep it 
constant
                 -->
-              <StackString value="XFAILED: expected a00b11c22 ...       "/>
+              <StackString value="FAILED: expected a00b11c22 ...        "/>
             </items>
           </PushData>
           <Trace/>




reply via email to

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