diff options
| author | Stephen Blott | 2016-01-10 07:24:39 +0000 |
|---|---|---|
| committer | Stephen Blott | 2016-01-10 07:24:39 +0000 |
| commit | 477df24baf583b4edddfa1445b8470bb011b33ba (patch) | |
| tree | 9ab718346d0b88d12199d24d1c80df7978f000ca | |
| parent | cd2aff1a9f787c3def235831eae88e181c8f7f3e (diff) | |
| parent | acfa129451afbf32dbcad4bad902085e39e60842 (diff) | |
| download | vimium-477df24baf583b4edddfa1445b8470bb011b33ba.tar.bz2 | |
Merge pull request #1930 from smblott-github/fix-endless-scrolling
Ensure hint keyup handler is always removed, fix endless scrolling
| -rw-r--r-- | content_scripts/link_hints.coffee | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index bf120629..8fc1446b 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -304,11 +304,16 @@ class LinkHintsMode when keyCodes.ctrlKey @setOpenLinkMode(if @mode is OPEN_IN_NEW_FG_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_NEW_FG_TAB) - handlerStack.push + handlerId = handlerStack.push keyup: (event) => if event.keyCode == keyCode handlerStack.remove() @setOpenLinkMode previousMode if @isActive + true # Continue bubbling the event. + + # For some (unknown) reason, we don't always receive the keyup event needed to remove this handler. + # Therefore, we ensure that it's always removed when hint mode exits. See #1911 and #1926. + @hintMode.onExit -> handlerStack.remove handlerId else if event.keyCode in [ keyCodes.backspace, keyCodes.deleteKey ] if @markerMatcher.popKeyChar() |
