Avoid calling length on undefined if no event handlers are registered.
authorKlaus Weidner <klausw@google.com>
Tue, 10 Apr 2012 22:49:46 +0000 (15:49 -0700)
committerKlaus Weidner <klausw@google.com>
Tue, 10 Apr 2012 22:49:46 +0000 (15:49 -0700)
dygraph.js

index e1cdd4e..1ebe261 100644 (file)
@@ -483,11 +483,13 @@ Dygraph.prototype.cascadeEvents_ = function(name, extra_props) {
   Dygraph.update(e, extra_props);
 
   var callback_plugin_pairs = this.eventListeners_[name];
-  for (var i = callback_plugin_pairs.length - 1; i >= 0; i--) {
-    var plugin = callback_plugin_pairs[i][0];
-    var callback = callback_plugin_pairs[i][1];
-    callback.call(plugin, e);
-    if (e.propagationStopped) break;
+  if (callback_plugin_pairs) {
+    for (var i = callback_plugin_pairs.length - 1; i >= 0; i--) {
+      var plugin = callback_plugin_pairs[i][0];
+      var callback = callback_plugin_pairs[i][1];
+      callback.call(plugin, e);
+      if (e.propagationStopped) break;
+    }
   }
   return e.defaultPrevented;
 };