Random bug I found but don't have time to create reproduction for #1194
danieltroger
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is probably useless but I wanted to write it down in case someone else has a similar issue.
So I just got
Because I did a click out of a
cleanNode
call which triggered an event handler which triggered the same cleanNode again.So basically I have a modal which is on top of another thing that's something like a modal. There are two event listeners when you click "behind" all the things that will close each one of them respectively. When the upper one is closed I trigger a click "behind" which is supposed to close the first one (I don't control the code of that one). The reason for that is that the upper one can be closed i.e. by pressing escape or clicking on one of several close buttons which wont' close the one behind.
My modal is inside of a createRoot. Within its closing function it calls
dispose
and then also calls thedispose
of another createRoot ("2nd root").Inside the 2nd root there's an
onCleanup
which doesdocument.elementFromPoint(innerWidth / 2, innerHeight - 1)?.click?.()
. Doing that will trigger the disposal of the already disposed modal root as well as another disposal of the 2nd root, inside of the already running disposal of the 2nd root. In that second callnode.cleanups
will be null so this row in solidscleanNode
will fail/throw:for(i = 0; i < node.cleanups.length; i++)node.cleanups[i]();
Sorry for bad report I really need to move on now and can't create a reproduction. I'll just do the click the next microtask as workaround.
Beta Was this translation helpful? Give feedback.
All reactions