From d4bf40367f0703c60192450b7bbb40839946993f Mon Sep 17 00:00:00 2001 From: AaronDDM Date: Mon, 28 Mar 2022 21:59:37 -0400 Subject: [PATCH] Brought back a guard to prevent the flush() function from being call while a previous flush is running --- src/runtime/internal/scheduler.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/runtime/internal/scheduler.ts b/src/runtime/internal/scheduler.ts index c0b8e57b08..6ed0122958 100644 --- a/src/runtime/internal/scheduler.ts +++ b/src/runtime/internal/scheduler.ts @@ -51,7 +51,9 @@ export function add_flush_callback(fn) { // function, guarantees this behavior. const seen_callbacks = new Set(); let flushidx = 0; // Do *not* move this inside the flush() function +let flushing = false; export function flush() { + if (flushing) return; const saved_component = current_component; do { @@ -91,6 +93,7 @@ export function flush() { flush_callbacks.pop()(); } + flushing = false; update_scheduled = false; seen_callbacks.clear(); set_current_component(saved_component);