Skip to content

Commit c04975d

Browse files
authored
fix: prevent last_propagated_event from being DCE'd (#16538)
* fix: prevent last_propagated_event from being DCE'd * changeset
1 parent 72e46d3 commit c04975d

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

.changeset/serious-cars-hear.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: prevent last_propagated_event from being DCE'd

packages/svelte/src/internal/client/dom/elements/events.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,11 @@ export function handle_event_propagation(event) {
168168
// mounted apps. In this case we don't want to trigger events multiple times.
169169
var path_idx = 0;
170170

171+
// the `last_propagated_event === event` check is redundant, but
172+
// without it the variable will be DCE'd and things will
173+
// fail mysteriously in Firefox
171174
// @ts-expect-error is added below
172-
var handled_at = event.__root;
175+
var handled_at = last_propagated_event === event && event.__root;
173176

174177
if (handled_at) {
175178
var at_idx = path.indexOf(handled_at);

0 commit comments

Comments
 (0)