gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/movie_root.h server/spri...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/movie_root.h server/spri...
Date: Fri, 08 Feb 2008 11:58:57 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/02/08 11:58:56

Modified files:
        .              : ChangeLog 
        server         : movie_root.h sprite_instance.cpp 
        server/asobj   : LoadVars.cpp xml.cpp 

Log message:
                * server/movie_root.h: add TODO item in loadMovie method.
                * server/sprite_instance.cpp (sprite_load_movie): queue the
                  load request using movie_root::loadMovie. Fixes a bug
                  loading in removed or aliased sprites (expected behaviour
                  is we load to a string target, with late evaluation of it).
                * server/asobj/: LoadVars.cpp, xml.cpp: don't forget to clear
                  the internal timer on destruction.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5591&r2=1.5592
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.h?cvsroot=gnash&r1=1.107&r2=1.108
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.464&r2=1.465
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/LoadVars.cpp?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.68&r2=1.69

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5591
retrieving revision 1.5592
diff -u -b -r1.5591 -r1.5592
--- ChangeLog   8 Feb 2008 07:46:05 -0000       1.5591
+++ ChangeLog   8 Feb 2008 11:58:54 -0000       1.5592
@@ -1,5 +1,15 @@
 2008-02-08 Sandro Santilli <address@hidden>
 
+       * server/movie_root.h: add TODO item in loadMovie method.
+       * server/sprite_instance.cpp (sprite_load_movie): queue the
+         load request using movie_root::loadMovie. Fixes a bug
+         loading in removed or aliased sprites (expected behaviour
+         is we load to a string target, with late evaluation of it).
+       * server/asobj/: LoadVars.cpp, xml.cpp: don't forget to clear
+         the internal timer on destruction.
+
+2008-02-08 Sandro Santilli <address@hidden>
+
        * server/sprite_instance.cpp (on_event): skip seeking for user-defined
          onLoad handler only if all all clip events (not just the onLoad one)
          are undefined.

Index: server/movie_root.h
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.h,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -b -r1.107 -r1.108
--- server/movie_root.h 30 Jan 2008 14:51:48 -0000      1.107
+++ server/movie_root.h 8 Feb 2008 11:58:55 -0000       1.108
@@ -15,7 +15,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: movie_root.h,v 1.107 2008/01/30 14:51:48 strk Exp $ */
+/* $Id: movie_root.h,v 1.108 2008/02/08 11:58:55 strk Exp $ */
 
 /// \page events_handling Handling of user events
 ///
@@ -622,6 +622,13 @@
     /// @param method
     ///     Load method. 
     ///
+    /// TODO: add an additional parameter containing the actual variables
+    ///       to send if method is POST or GET as tests show that if you
+    ///       queue a load request for a target which is unloaded at time
+    ///       of processing, you still get the original target variables
+    ///       posted, not the new ones !
+    ///              See http://savannah.gnu.org/bugs/index.php?22257
+    ///
     void loadMovie(const URL& url, const std::string& target, LoadMethod 
method=NONE);
 
     /// Return true if the given string can be interpreted as a _level name

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.464
retrieving revision 1.465
diff -u -b -r1.464 -r1.465
--- server/sprite_instance.cpp  8 Feb 2008 07:57:21 -0000       1.464
+++ server/sprite_instance.cpp  8 Feb 2008 11:58:56 -0000       1.465
@@ -653,7 +653,13 @@
     //return;
   }
 
-  sprite->loadMovie(url);
+  movie_root& mr = sprite->getVM().getRoot();
+  std::string target = sprite->getTarget();
+  // TODO: if GET/SET should send variables of *this* movie,
+  // no matter if the target will be replaced by another movie !!
+  mr.loadMovie(url, target); // ADD GET/SET !!
+
+  //sprite->loadMovie(url);
   //log_msg("MovieClip.loadMovie(%s) - TESTING ", url.str().c_str());
 
 

Index: server/asobj/LoadVars.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/LoadVars.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- server/asobj/LoadVars.cpp   7 Feb 2008 12:41:40 -0000       1.39
+++ server/asobj/LoadVars.cpp   8 Feb 2008 11:58:56 -0000       1.40
@@ -215,6 +215,12 @@
        {
                delete *it; // supposedly joins the thread
        }
+
+       if ( _loadCheckerTimer )
+       {
+               VM& vm = getVM();
+               vm.getRoot().clear_interval_timer(_loadCheckerTimer);
+       }
 }
 
 void

Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- server/asobj/xml.cpp        30 Jan 2008 10:09:36 -0000      1.68
+++ server/asobj/xml.cpp        8 Feb 2008 11:58:56 -0000       1.69
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: xml.cpp,v 1.68 2008/01/30 10:09:36 bwy Exp $ */
+/* $Id: xml.cpp,v 1.69 2008/02/08 11:58:56 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "gnashconfig.h"
@@ -176,6 +176,12 @@
         delete *it; // supposedly joins the thread
     }
     
+    if ( _loadCheckerTimer )
+    {
+        VM& vm = getVM();
+        vm.getRoot().clear_interval_timer(_loadCheckerTimer);
+    }
+    
 #ifdef DEBUG_MEMORY_ALLOCATION
     log_msg(_("\tDeleting XML top level node at %p"), this);
 #endif




reply via email to

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