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: Thu, 20 Sep 2007 20:20:37 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/09/20 20:20:37

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 

Log message:
                * server/sprite_instance.cpp (goto_frame): wait for target frame
                  even if we won't push any action. Fixes bug #21126.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4363&r2=1.4364
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.350&r2=1.351

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4363
retrieving revision 1.4364
diff -u -b -r1.4363 -r1.4364
--- ChangeLog   20 Sep 2007 17:07:20 -0000      1.4363
+++ ChangeLog   20 Sep 2007 20:20:36 -0000      1.4364
@@ -1,3 +1,8 @@
+2007-09-21 Sandro Santilli <address@hidden>
+
+       * server/sprite_instance.cpp (goto_frame): wait for target frame
+         even if we won't push any action. Fixes bug #21126.
+
 2007-09-21 Chad Musick <address@hidden>
 
        * server/parser/abc_block.cpp,.h: Read AS3 blocks. (unfinished)

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -b -r1.350 -r1.351
--- server/sprite_instance.cpp  20 Sep 2007 14:07:31 -0000      1.350
+++ server/sprite_instance.cpp  20 Sep 2007 20:20:36 -0000      1.351
@@ -2464,10 +2464,20 @@
     // and stop at that frame. 
     set_play_state(STOP);
 
-    if(target_frame_number > m_def->get_frame_count() - 1)
+    if ( target_frame_number > m_def->get_frame_count() - 1)
     {
+       target_frame_number = m_def->get_frame_count() - 1;
+
+        if ( ! m_def->ensure_frame_loaded(target_frame_number+1) )
+       {
+               log_error("Target frame of a gotoFrame(%d) was never loaded, 
altought frame count in header (%d) said we would have found it",
+                       target_frame_number+1, m_def->get_frame_count());
+               return; // ... I guess, or not ?
+       }
+
                    // Just set _currentframe and return.
-        m_current_frame = m_def->get_frame_count() - 1;
+        m_current_frame = target_frame_number;
+
                    // don't push actions, already tested.
                    return;
     }
@@ -2506,7 +2516,7 @@
         if ( ! m_def->ensure_frame_loaded(target_frame_number+1) )
        {
                log_error("Target frame of a gotoFrame(%d) was never loaded, 
altought frame count in header (%d) said we would have found it",
-                       target_frame_number+1, m_def->get_frame_count()+1);
+                       target_frame_number+1, m_def->get_frame_count());
                return; // ... I guess, or not ?
        }
     }




reply via email to

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