CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/10/10 13:38:09
Modified files: . : ChangeLog server : movie_root.cpp Log message: * server/movie_root.cpp (notify_key_listeners): don't use a stack-allocated and non-configured as_environment for user-defined event handlers invocation. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4587&r2=1.4588 http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.108&r2=1.109 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4587 retrieving revision 1.4588 diff -u -b -r1.4587 -r1.4588 --- ChangeLog 10 Oct 2007 08:55:45 -0000 1.4587 +++ ChangeLog 10 Oct 2007 13:38:08 -0000 1.4588 @@ -1,3 +1,9 @@ +2007-10-10 Sandro Santilli <[EMAIL PROTECTED]> + + * server/movie_root.cpp (notify_key_listeners): don't use a + stack-allocated and non-configured as_environment for user-defined + event handlers invocation. + 2007-10-10 Benjamin Wolsey <[EMAIL PROTECTED]> * gui/gui.cpp: only handle GUI shortcuts on key down. Index: server/movie_root.cpp =================================================================== RCS file: /sources/gnash/gnash/server/movie_root.cpp,v retrieving revision 1.108 retrieving revision 1.109 diff -u -b -r1.108 -r1.109 --- server/movie_root.cpp 9 Oct 2007 07:35:11 -0000 1.108 +++ server/movie_root.cpp 10 Oct 2007 13:38:09 -0000 1.109 @@ -871,8 +871,6 @@ { //log_msg("Notifying " SIZET_FMT " keypress listeners", _keyListeners.size()); - as_environment env; - for (KeyListeners::iterator iter = _keyListeners.begin(); iter != _keyListeners.end(); ++iter) { @@ -889,12 +887,9 @@ if(iter->hasUserRegistered()) // invoke onKeyDown handler { - boost::intrusive_ptr<as_function> - method = ch->getUserDefinedEventHandler("onKeyDown"); - if ( method ) - { - call_method0(as_value(method.get()), &env, ch); - } + VM& vm = VM::get(); + string_table& st =vm.getStringTable(); + ch->callMethod(st.find(PROPNAME("onKeyDown")), ch->get_environment()); } // invoke onClipKeyPress handler ch->on_event(event_id(event_id::KEY_PRESS, key::codeMap[k][0])); @@ -907,12 +902,9 @@ if(iter->hasUserRegistered()) // invoke onKeyUp handler { - boost::intrusive_ptr<as_function> - method = ch->getUserDefinedEventHandler("onKeyUp"); - if ( method ) - { - call_method0(as_value(method.get()), &env, ch); - } + VM& vm = VM::get(); + string_table& st =vm.getStringTable(); + ch->callMethod(st.find(PROPNAME("onKeyUp")), ch->get_environment()); } } } _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit