From dbcc00e1d3fdc963e3ebac625ce24583f5e36fa6 Mon Sep 17 00:00:00 2001 From: Roberto Tyley Date: Fri, 29 Nov 2013 14:26:56 +0000 Subject: [PATCH] SI-8019 Make Publisher check PartialFunction is defined for Event Reactions are PartialFunctions, so if events come through indiscriminately that the listener is not defined for, errors occur. Eg: -- Exception in thread "AWT-EventQueue-0" scala.MatchError: FocusGained(scala.swing wrapper scala.swing.TextField -- A Coursera thread with people affected by this issue: https://class.coursera.org/reactive-001/forum/thread?thread_id=1315 --- src/main/scala/scala/swing/Publisher.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/scala/swing/Publisher.scala b/src/main/scala/scala/swing/Publisher.scala index 96207de8..578ef71e 100644 --- a/src/main/scala/scala/swing/Publisher.scala +++ b/src/main/scala/scala/swing/Publisher.scala @@ -44,7 +44,7 @@ trait Publisher extends Reactor { /** * Notify all registered reactions. */ - def publish(e: Event) { for (l <- listeners) l(e) } + def publish(e: Event) { for (l <- listeners) if (l.isDefinedAt(e)) l(e) } listenTo(this) }