[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/button_character_instanc...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/button_character_instanc... |
Date: |
Tue, 15 Apr 2008 10:14:45 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/04/15 10:14:44
Modified files:
. : ChangeLog
server : button_character_instance.cpp
Log message:
cleanup, indent and comment code looking for invalidation
in set_current_state
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6280&r2=1.6281
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.88&r2=1.89
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6280
retrieving revision 1.6281
diff -u -b -r1.6280 -r1.6281
--- ChangeLog 15 Apr 2008 10:06:44 -0000 1.6280
+++ ChangeLog 15 Apr 2008 10:14:44 -0000 1.6281
@@ -1,3 +1,8 @@
+2008-04-15 Sandro Santilli <address@hidden>
+
+ * server/button_character_instance.cpp (set_current_state):
+ Cleanup, indent and comment code looking for invalidation.
+
2008-04-15 Benjamin Wolsey <address@hidden>
* testsuite/actionscript.all/Mouse.as: tests for mouse prototype
Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- server/button_character_instance.cpp 15 Apr 2008 10:00:29 -0000
1.88
+++ server/button_character_instance.cpp 15 Apr 2008 10:14:44 -0000
1.89
@@ -619,35 +619,50 @@
if (new_state == m_mouse_state)
return;
+ typedef std::vector<character*> CharVect;
+
// save current "display list"
- std::vector<character*> old_list;
+ CharVect old_list;
get_active_characters(old_list, m_mouse_state);
// load new "display list"
// NOTE: We don't change state yet, so that set_invalidated() can
// load the current bounds first.
- std::vector<character*> new_list;
+ CharVect new_list;
get_active_characters(new_list, new_state);
- // Call set_invalidated() in case some characters have been removed
from the
- // list. The effective equality check is done in the for loop below.
- if (new_list.size() != old_list.size())
- set_invalidated(); // something changed
-
size_t old_count = old_list.size();
size_t new_count = new_list.size();
- for (size_t i=0; i<new_count; i++) {
+ // If the old and new lists have different size,
+ // then something obviously changed.
+ // (effective equality check done in next loop)
+ //
+ if (new_count != old_count) set_invalidated();
+
+ // Otherwise, something changed if any character
+ // in the new set was not in the old one.
+ //
+ // In this case, we also restart the new character
+ // so it looks like we just placed it.
+ //
+ for (size_t i=0; i<new_count; i++)
+ {
bool found=false;
- for (size_t j=0; j<old_count; j++) {
- if (new_list[i] == old_list[j]) {
+ character* newch = new_list[i];
+ for (size_t j=0; j<old_count; j++)
+ {
+ character* oldch = old_list[j];
+ if (newch == oldch)
+ {
found=true;
break;
}
}
- if (!found) {
+ if (!found)
+ {
// character (re-)appeared on stage -> restart!
- new_list[i]->restart();
+ newch->restart();
set_invalidated();
}
}
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/12
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/15
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/15
- [Gnash-commit] gnash ChangeLog server/button_character_instanc...,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/16
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/18
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/18
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/18
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/18
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/19
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/19
- [Gnash-commit] gnash ChangeLog server/button_character_instanc..., Sandro Santilli, 2008/04/22