[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/vm/action.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/vm/action.cpp |
Date: |
Thu, 07 Dec 2006 17:22:51 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/12/07 17:22:51
Modified files:
. : ChangeLog
server/vm : action.cpp
Log message:
* server/vm/action.cpp (attach_extern_movie):
store sprites in intrusive pointers (fixes some
testInvariant failures).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1882&r2=1.1883
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/action.cpp?cvsroot=gnash&r1=1.3&r2=1.4
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1882
retrieving revision 1.1883
diff -u -b -r1.1882 -r1.1883
--- ChangeLog 7 Dec 2006 15:26:04 -0000 1.1882
+++ ChangeLog 7 Dec 2006 17:22:51 -0000 1.1883
@@ -1,5 +1,8 @@
2006-12-07 Sandro Santilli <address@hidden>
+ * server/vm/action.cpp (attach_extern_movie):
+ store sprites in intrusive pointers (fixes some
+ testInvariant failures).
* server/as_environment.cpp (dump_global_registers):
don't print anything if none of the registers are defined.
* testsuite/actionscript.all/String.as:
Index: server/vm/action.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/action.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/vm/action.cpp 6 Dec 2006 10:21:32 -0000 1.3
+++ server/vm/action.cpp 7 Dec 2006 17:22:51 -0000 1.4
@@ -140,18 +140,19 @@
{
URL url(c_url);
- movie_definition* md = create_library_movie(url);
+ boost::intrusive_ptr<movie_definition> md ( create_library_movie(url) );
if (md == NULL)
{
log_error("can't create movie_definition for %s\n",
url.str().c_str());
return;
}
- gnash::sprite_instance* extern_movie;
+ // TODO: stuff in an intrusive pointer ?
+ boost::intrusive_ptr<sprite_instance> extern_movie;
if (target == root_movie)
{
- extern_movie = create_library_movie_inst(md);
+ extern_movie = create_library_movie_inst(md.get());
if (extern_movie == NULL)
{
log_error("can't create extern root sprite for %s\n",
url.str().c_str());
@@ -160,7 +161,7 @@
// It would be better if create_library_movie_inst() returned a
movie_instance
// directly !
- gnash::movie_instance* mi =
dynamic_cast<movie_instance*>(extern_movie);
+ gnash::movie_instance* mi =
dynamic_cast<movie_instance*>(extern_movie.get());
VM::get().getRoot().setRootMovie(mi);
sprite_instance* m = extern_movie->get_root_movie();
@@ -175,7 +176,7 @@
return;
}
- save_extern_movie(extern_movie);
+ save_extern_movie(extern_movie.get());
const character* tar = (const character*)target;
const char* name = tar->get_name().c_str();
@@ -188,7 +189,7 @@
uint16_t clip_depth = tar->get_clip_depth();
character* parent = tar->get_parent();
- sprite_instance* newsprite = extern_movie->get_root_movie();
+ boost::intrusive_ptr<sprite_instance> newsprite (
extern_movie->get_root_movie() );
assert(parent);
assert(newsprite);
@@ -199,7 +200,7 @@
assert(parent_sprite);
parent_sprite->replace_display_object(
- newsprite,
+ newsprite.get(),
name,
depth,
use_cxform,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/vm/action.cpp,
Sandro Santilli <=