[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv... |
Date: |
Wed, 13 Feb 2008 18:44:08 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/02/13 18:44:08
Modified files:
. : ChangeLog
server : sprite_instance.cpp sprite_instance.h
testsuite/misc-ming.all: PrototypeEventListenersTestRunner.cpp
Log message:
* server/sprite_instance.{cpp,h}: always register as a key and
mouse
listener, not relying on equipment of a known handler (as
that would
miss prototype assignments).
*
testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp: fix
bogus check.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5642&r2=1.5643
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.472&r2=1.473
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.168&r2=1.169
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp?cvsroot=gnash&r1=1.2&r2=1.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5642
retrieving revision 1.5643
diff -u -b -r1.5642 -r1.5643
--- ChangeLog 13 Feb 2008 17:53:06 -0000 1.5642
+++ ChangeLog 13 Feb 2008 18:44:07 -0000 1.5643
@@ -1,5 +1,13 @@
2008-02-13 Sandro Santilli <address@hidden>
+ * server/sprite_instance.{cpp,h}: always register as a key and mouse
+ listener, not relying on equipment of a known handler (as that would
+ miss prototype assignments).
+ * testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp: fix
+ bogus check.
+
+2008-02-13 Sandro Santilli <address@hidden>
+
* testsuite/misc-ming.all/Makefile.am: enable test
PrototypeEventListenersTestRunner
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.472
retrieving revision 1.473
diff -u -b -r1.472 -r1.473
--- server/sprite_instance.cpp 12 Feb 2008 20:56:29 -0000 1.472
+++ server/sprite_instance.cpp 13 Feb 2008 18:44:08 -0000 1.473
@@ -2098,8 +2098,6 @@
is_jumping_back(false),
_callingFrameActions(false),
m_as_environment(),
- m_has_key_event(false),
- m_has_mouse_event(false),
_text_variables(),
m_sound_stream_id(-1),
_userCxform(),
@@ -2125,17 +2123,8 @@
// We might have been deleted by Quit...
//assert(isDestroyed());
- if (m_has_key_event)
- {
_vm.getRoot().remove_key_listener(this);
- }
-
- if (m_has_mouse_event)
- {
_vm.getRoot().remove_mouse_listener(this);
- }
-
- //m_display_list.clear();
for (LoadVariablesThreads::iterator it=_loadVariableRequests.begin();
it != _loadVariableRequests.end(); ++it)
@@ -2622,10 +2611,10 @@
//log_debug(_("sprite[%p]::set_member(%s, %s)"), (void*)this,
VM::get().getStringTable().value(name), val.to_debug_string().c_str());
#endif
- if ( val.is_function() )
- {
- checkForKeyOrMouseEvent(VM::get().getStringTable().value(name));
- }
+ //if ( val.is_function() )
+ //{
+ // checkForKeyOrMouseEvent(VM::get().getStringTable().value(name));
+ //}
// Try textfield variables
//
@@ -3821,19 +3810,8 @@
void
sprite_instance::registerAsListener()
{
- if (m_has_key_event)
- {
_vm.getRoot().add_key_listener(this);
- }
- // Mouse events listening is done in has_mouse_event directly.
- // This shows to work better for attachMovieTest.swf,
- // but might actually be a completely unrelated issue.
- // In particular, copying event handlers in attachMovie should
- // be more closely inspected (and need more ad-hoc testcases)
- //if (m_has_mouse_event)
- //{
- //_vm.getRoot().add_mouse_listener(this);
- //}
+ _vm.getRoot().add_mouse_listener(this);
}
@@ -4122,13 +4100,6 @@
}
void
-sprite_instance::has_mouse_event()
-{
- m_has_mouse_event = true;
- _vm.getRoot().add_mouse_listener(this);
-}
-
-void
sprite_instance::loadVariables(URL url, short sendVarsMethod)
{
// Check host security
@@ -4284,35 +4255,6 @@
}
-void
-sprite_instance::checkForKeyOrMouseEvent(const std::string& name)
-{
- // short-cut
- if ( name.size() < 9 ) return;
-
- // TODO: don't use strcmp/strcasecmp, we're a C++ application after all !
-
- typedef int (*cmp_t) (const char*, const char*);
- cmp_t cmp = strcmp;
- if ( _vm.getSWFVersion() < 7 ) cmp = strcasecmp;
-
- const char* ptr = name.c_str();
-
- // AFAIK, there is no user defined "onKeyPress" event handler!
- if ( ! cmp(ptr, "onKeyDown")
- || ! cmp(ptr, "onKeyUp"))
- {
- has_key_event();
- }
- else if ( ! cmp(ptr, "onMouseDown")
- || ! cmp(ptr, "onMouseUp")
- || ! cmp(ptr, "onMouseMove") )
- {
- has_mouse_event();
- }
-
-}
-
geometry::Range2d<float>
sprite_instance::getBounds() const
{
Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.168
retrieving revision 1.169
diff -u -b -r1.168 -r1.169
--- server/sprite_instance.h 12 Feb 2008 20:56:29 -0000 1.168
+++ server/sprite_instance.h 13 Feb 2008 18:44:08 -0000 1.169
@@ -103,12 +103,6 @@
TAG_DLIST = 1<<1
};
- virtual void has_key_event() {
- m_has_key_event = true;
- }
-
- virtual void has_mouse_event();
-
/// \brief
/// Return this sprite's root as
/// specified at contruction time
@@ -908,17 +902,6 @@
/// Forbid assignment
sprite_instance& operator=(const sprite_instance&) { abort(); return
*this; }
- /// \brief
- /// Call has_key_event() or has_mouse_event()
- /// if the given string correspond to an event handler
- /// for which registering as a listener of Mouse or Key is needed
- //
- ///
- /// @param name
- /// Member name.
- ///
- void checkForKeyOrMouseEvent(const std::string& name);
-
/// Advance to a previous frame.
//
/// This function will basically restore the DisplayList as it
supposedly
@@ -1019,11 +1002,6 @@
/// Increment m_current_frame, and take care of looping.
void increment_frame_and_check_for_loop();
- /// key events are: KEY_DOWN, KEY_PRESS, KEY_UP
- bool m_has_key_event;
-
- bool m_has_mouse_event;
-
typedef boost::intrusive_ptr< edit_text_character > TextFieldPtr;
typedef std::vector< TextFieldPtr > TextFieldPtrVect;
Index: testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp
===================================================================
RCS file:
/sources/gnash/gnash/testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp 13 Feb
2008 15:07:46 -0000 1.2
+++ testsuite/misc-ming.all/PrototypeEventListenersTestRunner.cpp 13 Feb
2008 18:44:08 -0000 1.3
@@ -53,7 +53,7 @@
// for variables lookup (consistency checking)
string_table& st = root->getVM().getStringTable();
- check_equals(root->get_frame_count(), 1);
+ check_equals(root->get_frame_count(), 2);
check_equals(root->get_current_frame(), 0);
// first frame is just Dejagnu clip...