gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cp...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cp...
Date: Tue, 03 Oct 2006 09:50:59 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/10/03 09:50:59

Modified files:
        .              : ChangeLog 
        server/parser  : movie_def_impl.cpp movie_def_impl.h 

Log message:
                * server/parser/movie_def_impl.cpp (create_instance):
                  ensure frame0 has been loaded before attempting to
                  execute the actions therein.
                * server/parser/movie_def_impl.h: documented weird
                  side-effect of creating an instance of a movie_def_impl
                  (execution of actions in first frame)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1002&r2=1.1003
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.h?cvsroot=gnash&r1=1.9&r2=1.10

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1002
retrieving revision 1.1003
diff -u -b -r1.1002 -r1.1003
--- ChangeLog   3 Oct 2006 08:03:59 -0000       1.1002
+++ ChangeLog   3 Oct 2006 09:50:59 -0000       1.1003
@@ -1,3 +1,12 @@
+2006-10-03 Sandro Santilli  <address@hidden>
+
+       * server/parser/movie_def_impl.cpp (create_instance):
+         ensure frame0 has been loaded before attempting to
+         execute the actions therein.
+       * server/parser/movie_def_impl.h: documented weird
+         side-effect of creating an instance of a movie_def_impl
+         (execution of actions in first frame)
+
 2006-10-03 Markus Gothe <address@hidden>
 
        * server/parser/movie_def_impl.cpp: remove ensure_frame_loaded inlining.

Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- server/parser/movie_def_impl.cpp    3 Oct 2006 08:03:59 -0000       1.25
+++ server/parser/movie_def_impl.cpp    3 Oct 2006 09:50:59 -0000       1.26
@@ -857,6 +857,13 @@
 
     m->add_ref();
 
+       // I don't think we should be executing actions
+       // in first frame from *this* function, rather
+       // it should be the advance() function taking
+       // care of it... anyway, since we do, better
+       // to ensure the frame number 1 is loaded before
+       // messing with it.
+       ensure_frame_loaded(1);
                root_movie->execute_frame_tags(0); // create _root dlist
 
     return m;

Index: server/parser/movie_def_impl.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/parser/movie_def_impl.h      3 Oct 2006 08:03:59 -0000       1.9
+++ server/parser/movie_def_impl.h      3 Oct 2006 09:50:59 -0000       1.10
@@ -485,6 +485,7 @@
 
        virtual const std::vector<execute_tag*>& get_playlist(size_t 
frame_number)
        {
+               assert(frame_number <= m_loading_frame);
                return m_playlist[frame_number];
        }
 
@@ -543,8 +544,12 @@
        /// \brief
        /// Create a playable movie_root instance from a def.
        //
-       /// The _root reference of the newly created instance
-       /// will be set to a newly created sprite_instace (Help!)
+       /// The _root reference of the newly created movie_root
+       /// will be set to a newly created movie_instance.
+       ///
+       /// WARNING: the actions in the first frame of the
+       ///          movie will be executed by this function.
+       ///         
        ///
        movie_interface* create_instance();
 




reply via email to

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