From 23766a5cbebd16a1b8e6f4cbdb4f3dacb75bae16 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Wed, 22 Apr 2015 07:48:43 +0930 Subject: [PATCH] Prevent scroll on redraw inside onunload if previous onunload calls preventDefault https://github.com/lhorie/mithril.js/issues/560#issuecomment-93876904 --- mithril.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mithril.js b/mithril.js index b22a25af..f3fb3451 100644 --- a/mithril.js +++ b/mithril.js @@ -570,7 +570,10 @@ var m = (function app(window, undefined) { if (index < 0) index = roots.length; var isPrevented = false; - var event = {preventDefault: function() {isPrevented = true}}; + var event = {preventDefault: function() { + isPrevented = true; + computePreRedrawHook = computePostRedrawHook = null; + }}; for (var i = 0, unloader; unloader = unloaders[i]; i++) { unloader.handler.call(unloader.controller, event) unloader.controller.onunload = null @@ -601,7 +604,6 @@ var m = (function app(window, undefined) { endFirstComputation(); return controllers[index] } - else computePreRedrawHook = computePostRedrawHook = null }; var redrawing = false m.redraw = function(force) {