| Index: sdk/lib/async/broadcast_stream_controller.dart
|
| diff --git a/sdk/lib/async/broadcast_stream_controller.dart b/sdk/lib/async/broadcast_stream_controller.dart
|
| index c2cd4ab6c1c26f544961330d68b95ece2a24f41f..93c0833317c26f2393dd14fb46aea127ca1edf4b 100644
|
| --- a/sdk/lib/async/broadcast_stream_controller.dart
|
| +++ b/sdk/lib/async/broadcast_stream_controller.dart
|
| @@ -337,12 +337,23 @@ abstract class _BroadcastStreamController<T>
|
| }
|
| }
|
|
|
| -class _SyncBroadcastStreamController<T> extends _BroadcastStreamController<T> {
|
| +class _SyncBroadcastStreamController<T> extends _BroadcastStreamController<T>
|
| + implements SynchronousStreamController<T> {
|
| _SyncBroadcastStreamController(void onListen(), void onCancel())
|
| : super(onListen, onCancel);
|
|
|
| // EventDispatch interface.
|
|
|
| + bool get _mayAddEvent => super._mayAddEvent && !_isFiring;
|
| +
|
| + _addEventError() {
|
| + if (_isFiring) {
|
| + return new StateError(
|
| + "Cannot fire new event. Controller is already firing an event");
|
| + }
|
| + return super._addEventError();
|
| + }
|
| +
|
| void _sendData(T data) {
|
| if (_isEmpty) return;
|
| if (_hasOneListener) {
|
|
|