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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...
Date: Fri, 07 Sep 2007 07:34:37 +0000

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

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 
        server/vm      : action.cpp 

Log message:
                * server/sprite_instance.cpp (loadMovie): don't use
                  movie_root::setRootMovie for loading external movies,
                  as that method is meant for kick-start only.
                * server/vm/action.cpp: remove dead code.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4243&r2=1.4244
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.329&r2=1.330
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/action.cpp?cvsroot=gnash&r1=1.24&r2=1.25

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4243
retrieving revision 1.4244
diff -u -b -r1.4243 -r1.4244
--- ChangeLog   7 Sep 2007 07:17:44 -0000       1.4243
+++ ChangeLog   7 Sep 2007 07:34:36 -0000       1.4244
@@ -1,5 +1,12 @@
 2007-09-07 Sandro Santilli <address@hidden>
 
+       * server/sprite_instance.cpp (loadMovie): don't use
+         movie_root::setRootMovie for loading external movies,
+         as that method is meant for kick-start only.
+       * server/vm/action.cpp: remove dead code.
+
+2007-09-07 Sandro Santilli <address@hidden>
+
        * testsuite/misc-swfc.all/action_execution_order_test10.sc:
          check that _currentframe is 1 when actions in first frame of
          _root are executed

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.329
retrieving revision 1.330
diff -u -b -r1.329 -r1.330
--- server/sprite_instance.cpp  6 Sep 2007 12:47:07 -0000       1.329
+++ server/sprite_instance.cpp  7 Sep 2007 07:34:36 -0000       1.330
@@ -3407,6 +3407,10 @@
 bool
 sprite_instance::loadMovie(const URL& url)
 {
+       // Get a pointer to our own parent 
+       character* parent = get_parent();
+       if ( parent )
+       {
        boost::intrusive_ptr<movie_definition> md ( create_library_movie(url) );
        if (md == NULL)
        {
@@ -3441,10 +3445,6 @@
        int clip_depth = get_clip_depth();
        //character* new_movie = extern_movie->get_root_movie();
 
-       // Get a pointer to our own parent 
-       character* parent = get_parent();
-       if ( parent )
-       {
                extern_movie->set_parent(parent);
 
                sprite_instance* parent_sp = parent->to_movie();
@@ -3461,11 +3461,14 @@
        else
        {
                movie_root& root = _vm.getRoot();
+               unsigned int level = get_depth();
+               
 #ifndef GNASH_USE_GC
                // Make sure we won't kill ourself !
                assert(get_ref_count() > 1);
 #endif // ndef GNASH_USE_GC
-               root.setRootMovie(extern_movie.get());
+
+               root.loadLevel(level, url); // extern_movie.get());
        }
 
        return true;

Index: server/vm/action.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/action.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- server/vm/action.cpp        5 Sep 2007 16:47:55 -0000       1.24
+++ server/vm/action.cpp        7 Sep 2007 07:34:37 -0000       1.25
@@ -127,81 +127,6 @@
        global->set_member(name, handler);
 }
 
-#if 0 // deprecated, use sprite_instance::loadMovie
-void
-attach_extern_movie(const char* c_url,
-               const sprite_instance* target,
-               const sprite_instance* root_movie)
-{
-       URL url(c_url);
-
-       boost::intrusive_ptr<movie_definition> md ( create_library_movie(url) );
-       if (md == NULL)
-       {
-           log_error(_("can't create movie_definition for %s"), 
url.str().c_str());
-           return;
-       }
-
-       // TODO: stuff in an intrusive pointer ?
-       boost::intrusive_ptr<sprite_instance> extern_movie;
-
-       if (target == root_movie)
-       {
-               extern_movie = create_library_movie_inst(md.get());
-               if (extern_movie == NULL)
-               {
-                       log_error(_("can't create extern root sprite for %s"), 
url.str().c_str());
-                       return;
-               }
-
-               // It would be better if create_library_movie_inst() returned a 
movie_instance
-               // directly !
-               gnash::movie_instance* mi = 
dynamic_cast<movie_instance*>(extern_movie.get());
-               VM::get().getRoot().setRootMovie(mi);
-               sprite_instance* m = extern_movie->get_root_movie();
-
-               m->on_event(event_id::LOAD);
-       }
-       else
-       {
-               extern_movie = md->create_instance();
-               if (extern_movie == NULL)
-               {
-                       log_error(_("can't create extern sprite for %s"), 
url.str().c_str());
-                       return;
-               }
-
-               save_extern_movie(extern_movie.get());
-
-               const character* tar = (const character*)target;
-               const char* name = tar->get_name().c_str();
-               uint16_t depth = tar->get_depth();
-               int ratio = tar->get_ratio();
-               uint16_t clip_depth = tar->get_clip_depth();
-
-               character* parent = tar->get_parent();
-               boost::intrusive_ptr<sprite_instance> newsprite ( 
extern_movie->get_root_movie() );
-
-               assert(parent);
-               assert(newsprite);
-
-               newsprite->set_parent(parent);
-
-               sprite_instance* parent_sprite = parent->to_movie();
-               assert(parent_sprite);
-
-           parent_sprite->replace_display_object(
-               newsprite.get(),
-               name,
-               depth,
-               NULL, // don't use color transform
-               NULL, // don't use matrix transform
-               ratio,
-               clip_depth);
-       }
-}
-#endif
-
 //
 // Function/method dispatch.
 //




reply via email to

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