gnash-commit
[Top][All Lists]
Advanced

[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




reply via email to

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