[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/AsBroadcaster.cpp ...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/AsBroadcaster.cpp ... |
Date: |
Tue, 11 Sep 2007 17:41:12 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/09/11 17:41:12
Modified files:
. : ChangeLog
server/asobj : AsBroadcaster.cpp
testsuite/actionscript.all: AsBroadcaster.as
testsuite/swfdec: PASSING
Log message:
* testsuite/actionscript.all/AsBroadcaster.as: a couple more
tests
for return from broadcastMessage.
* server/asobj/AsBroadcaster.cpp: fix return from
broadcastMessage.
* testsuite/swfdec/PASSING:
asbroadcaster-broadcastMessage-retval-*.swf
all pass now.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4273&r2=1.4274
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/AsBroadcaster.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/AsBroadcaster.as?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.30&r2=1.31
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4273
retrieving revision 1.4274
diff -u -b -r1.4273 -r1.4274
--- ChangeLog 11 Sep 2007 17:26:48 -0000 1.4273
+++ ChangeLog 11 Sep 2007 17:41:11 -0000 1.4274
@@ -1,5 +1,10 @@
2007-09-11 Sandro Santilli <address@hidden>
+ * testsuite/actionscript.all/AsBroadcaster.as: a couple more tests
+ for return from broadcastMessage.
+ * server/asobj/AsBroadcaster.cpp: fix return from broadcastMessage.
+ * testsuite/swfdec/PASSING: asbroadcaster-broadcastMessage-retval-*.swf
+ all pass now.
* server/as_value.cpp (to_debug_string): fix debug print for movieclip
values.
Index: server/asobj/AsBroadcaster.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/AsBroadcaster.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/asobj/AsBroadcaster.cpp 11 Sep 2007 17:01:23 -0000 1.1
+++ server/asobj/AsBroadcaster.cpp 11 Sep 2007 17:41:11 -0000 1.2
@@ -48,6 +48,9 @@
//size_t _origEnvStackSize;
//size_t _origEnvCallStackSize;
+ /// Number of event dispatches
+ unsigned int _dispatched;
+
public:
/// @param eName name of event, will be converted to lowercase if needed
@@ -58,7 +61,8 @@
BroadcasterVisitor(const std::string& eName, as_environment& env)
:
_eventName(PROPNAME(eName)),
- _env(env)
+ _env(env),
+ _dispatched(0)
{
}
@@ -73,7 +77,14 @@
#endif
/*as_value ret =*/ o->callMethod(_eventName, _env);
assert ( _env.stack_size() == oldStackSize );
+ ++_dispatched;
}
+
+ /// Return number of events dispached since last reset()
+ unsigned int eventsDispatched() const { return _dispatched; }
+
+ /// Reset count od dispatched events
+ void reset() { _dispatched=0; }
};
void
@@ -321,9 +332,13 @@
BroadcasterVisitor visitor(fn.arg(0).to_string(), fn.env());
listeners->visitAll(visitor);
- log_debug("AsBroadcaster.broadcastMessage TESTING");
+ unsigned int dispatched = visitor.eventsDispatched();
+
+ log_debug("AsBroadcaster.broadcastMessage() dispatched %u events",
dispatched);
+
+ if ( dispatched ) return as_value(true);
+ else return as_value(); // undefined
- return as_value(true);
}
static as_object*
Index: testsuite/actionscript.all/AsBroadcaster.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/AsBroadcaster.as,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- testsuite/actionscript.all/AsBroadcaster.as 11 Sep 2007 17:01:23 -0000
1.2
+++ testsuite/actionscript.all/AsBroadcaster.as 11 Sep 2007 17:41:11 -0000
1.3
@@ -19,7 +19,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: AsBroadcaster.as,v 1.2 2007/09/11 17:01:23 strk Exp $";
+rcsid="$Id: AsBroadcaster.as,v 1.3 2007/09/11 17:41:11 strk Exp $";
#include "check.as"
@@ -224,6 +224,12 @@
check_equals(a.order, 22);
check_equals(b.order, 23);
+ret = bcast.broadcastMessage('onUnexistent');
+check_equals(ret, true);
+bcast._listeners.length=0;
+ret = bcast.broadcastMessage('onUnexistent');
+check_equals(typeof(ret), 'undefined');
+
// TODO: test broadcastMessage with additional arguments
// and effects of overriding Function.apply
// (should have no effects, being broadcastMessage
Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- testsuite/swfdec/PASSING 11 Sep 2007 14:51:07 -0000 1.30
+++ testsuite/swfdec/PASSING 11 Sep 2007 17:41:12 -0000 1.31
@@ -107,6 +107,9 @@
addProperty-get-prototypes-5.swf
addProperty-set-prototypes-5.swf
asbroadcaster-broadcastMessage-retval-5.swf
+asbroadcaster-broadcastMessage-retval-6.swf
+asbroadcaster-broadcastMessage-retval-7.swf
+asbroadcaster-broadcastMessage-retval-8.swf
asbroadcaster-listeners-5.swf
asbroadcaster-listeners-6.swf
asbroadcaster-listeners-7.swf
- [Gnash-commit] gnash ChangeLog server/asobj/AsBroadcaster.cpp ...,
Sandro Santilli <=