From 04f070f61d7d139964c7788e77f9edd31c2f22d0 Mon Sep 17 00:00:00 2001 From: Jim Date: Mon, 27 Jul 2015 15:46:33 -0700 Subject: [PATCH] Added an invariant to throw instead of potentially failing to terminate on unexpected condition. --- src/renderers/dom/client/ReactEventListener.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/renderers/dom/client/ReactEventListener.js b/src/renderers/dom/client/ReactEventListener.js index d1e867db30b..c0196c3a4d7 100644 --- a/src/renderers/dom/client/ReactEventListener.js +++ b/src/renderers/dom/client/ReactEventListener.js @@ -22,6 +22,7 @@ var ReactUpdates = require('ReactUpdates'); var assign = require('Object.assign'); var getEventTarget = require('getEventTarget'); var getUnboundedScrollPosition = require('getUnboundedScrollPosition'); +var invariant = require('invariant'); var DOCUMENT_FRAGMENT_NODE_TYPE = 11; @@ -128,6 +129,12 @@ function handleTopLevelWithPath(bookKeeping) { // Jump to the root of this React render tree while (currentPathElementID !== newRootID) { i++; + invariant( + i < path.length, + 'Expected to find another React root ' + + 'before reaching end of event path (%s).', + path + ); currentPathElement = path[i]; currentPathElementID = ReactMount.getID(currentPathElement); }