gnash-commit
[Top][All Lists]
Advanced

[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);




reply via email to

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