[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/Key.cpp server/mov...
From: |
Zou Lunkai |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/Key.cpp server/mov... |
Date: |
Tue, 10 Jul 2007 12:22:34 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Zou Lunkai <zoulunkai> 07/07/10 12:22:34
Modified files:
. : ChangeLog
server/asobj : Key.cpp
server : movie_root.cpp movie_root.h
Log message:
* server/movie_root.cpp: remove the key listener from the listener
container,
not just unregister it.
* server/movie_root.h: add a public getKeyListeners() to return the key
listener
set.
* server/asobj/key.cpp: unregister the key listener. Hopefully fix bug
#20317,
will do more tests later.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3697&r2=1.3698
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.cpp?cvsroot=gnash&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.h?cvsroot=gnash&r1=1.64&r2=1.65
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3697
retrieving revision 1.3698
diff -u -b -r1.3697 -r1.3698
--- ChangeLog 10 Jul 2007 11:45:33 -0000 1.3697
+++ ChangeLog 10 Jul 2007 12:22:33 -0000 1.3698
@@ -1,5 +1,13 @@
2007-07-10 Zou Lunkai <address@hidden>
+ * server/movie_root.cpp: remove the key listener from the listener
container,
+ not just unregister it.
+ * server/movie_root.h: add a public getKeyListeners() to return the key
listener set.
+ * server/asobj/key.cpp: unregister the key listener. Hopefully fix bug
#20317, will
+ do more tests later.
+
+2007-07-10 Zou Lunkai <address@hidden>
+
* testsuite/misc-ming.all/key_event_test5.c: more tests.
* testsuite/misc-ming.all/key_event_test5runner.c: add a testrunner.
* testsuite/misc-ming.all/Makefile.am: enable key_event_test4runner,
Index: server/asobj/Key.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- server/asobj/Key.cpp 10 Jul 2007 04:59:24 -0000 1.27
+++ server/asobj/Key.cpp 10 Jul 2007 12:22:34 -0000 1.28
@@ -189,7 +189,18 @@
void
key_as_object::remove_listener(const KeyListener& listener)
{
- _vm.getRoot().remove_key_listener(listener);
+ std::vector<KeyListener> & listeners = _vm.getRoot().getKeyListeners();
+
+ std::vector<KeyListener>::iterator end = listeners.end();
+ for (std::vector<KeyListener>::iterator iter =
listeners.begin();
+ iter != end; ++iter)
+ {
+ if ((*iter) == listener) {
+ // Found it
+ iter->unregisterUserHandler();
+ return;
+ }
+ }
}
#else
void
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- server/movie_root.cpp 10 Jul 2007 04:59:24 -0000 1.73
+++ server/movie_root.cpp 10 Jul 2007 12:22:34 -0000 1.74
@@ -795,8 +795,8 @@
iter != end; ++iter)
{
if ((*iter) == listener) {
- // Found it
- iter->unregisterUserHandler();
+ // If found, then remove it from the container
+ _keyListeners.erase(iter);
return;
}
}
Index: server/movie_root.h
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.h,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- server/movie_root.h 10 Jul 2007 04:59:24 -0000 1.64
+++ server/movie_root.h 10 Jul 2007 12:22:34 -0000 1.65
@@ -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.64 2007/07/10 04:59:24 strk Exp $ */
+/* $Id: movie_root.h,v 1.65 2007/07/10 12:22:34 zoulunkai Exp $ */
/// \page events_handling Handling of user events
///
@@ -423,10 +423,10 @@
// otherwise, just register it.
void add_key_listener(const KeyListener& listener);
- // Unregister the specified key listener, never really remove it.
- // The name is confusing just that the built-in Key.removeListener()
- // does not really remove any thing.
+ // remove the specified listener from the container if found
void remove_key_listener(const KeyListener& listener);
+
+ std::vector<KeyListener> & getKeyListeners() { return _keyListeners; }
#else
void add_key_listener(as_object* listener);
void remove_key_listener(as_object* listener);
- [Gnash-commit] gnash ChangeLog server/asobj/Key.cpp server/mov...,
Zou Lunkai <=