[Top][All Lists]
[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: |
Sat, 10 Feb 2007 13:39:32 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/02/10 13:39:32
Modified files:
. : ChangeLog
server : sprite_instance.cpp
Log message:
* server/sprite_instance.cpp: remove characters
not in current DisplayList from _frame0_chars when
looping back. See patch #5620.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2298&r2=1.2299
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.153&r2=1.154
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2298
retrieving revision 1.2299
diff -u -b -r1.2298 -r1.2299
--- ChangeLog 10 Feb 2007 13:00:41 -0000 1.2298
+++ ChangeLog 10 Feb 2007 13:39:32 -0000 1.2299
@@ -1,5 +1,8 @@
2007-02-10 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp: remove characters
+ not in current DisplayList from _frame0_chars when
+ looping back. See patch #5620.
* testsuite/misc-ming.all/Makefile.am:
fixed typo in loadMovieTestRunner dependency.
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -b -r1.153 -r1.154
--- server/sprite_instance.cpp 9 Feb 2007 00:19:07 -0000 1.153
+++ server/sprite_instance.cpp 10 Feb 2007 13:39:32 -0000 1.154
@@ -1362,21 +1362,28 @@
/// by ActionScript
///
class ScriptObjectsFinder {
- std::vector<character*>& _chars;
+ std::vector<character*>& _dynamicChars;
+ std::vector<character*>& _staticChars;
public:
- ScriptObjectsFinder(std::vector<character*>& chars)
+ ScriptObjectsFinder(std::vector<character*>& dynamicChars,
+ std::vector<character*>& staticChars)
:
- _chars(chars)
+ _dynamicChars(dynamicChars),
+ _staticChars(staticChars)
{}
bool operator() (character* ch)
{
// TODO: Are script-transformed object to be kept ?
// Need a testcase for this
- if ( ! ch->get_accept_anim_moves() )
- //if ( ch->isDynamic() )
+ //if ( ! ch->get_accept_anim_moves() )
+ if ( ch->isDynamic() )
{
- _chars.push_back(ch);
+ _dynamicChars.push_back(ch);
+ }
+ else
+ {
+ _staticChars.push_back(ch);
}
return true; // keep scanning
}
@@ -2530,8 +2537,13 @@
// Add script objects in current DisplayList
std::vector<character*> charsToAdd;
- ScriptObjectsFinder scriptObjFinder(charsToAdd);
+ std::vector<character*> charsToKeep;
+ ScriptObjectsFinder scriptObjFinder(charsToAdd, charsToKeep);
m_display_list.visitForward(scriptObjFinder);
+
+ // Remove characters which have been removed
+ _frame0_chars.clear_except(charsToKeep);
+
// NOTE: script objects are *not* allowed to replace depths
// of static objects (change second argument to switch)
_frame0_chars.addAll(charsToAdd, false);
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/02/07
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/02/11
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Udo Giacomozzi, 2007/02/16
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/02/16
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/02/20
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Sandro Santilli, 2007/02/21
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp, Udo Giacomozzi, 2007/02/22