bright-gpu-74537
08/10/2022, 8:48 AMbest-agent-85158
08/10/2022, 8:48 AMbest-agent-85158
08/10/2022, 8:49 AMbest-agent-85158
08/10/2022, 8:49 AMbest-agent-85158
08/10/2022, 8:50 AMbright-gpu-74537
08/10/2022, 8:50 AMbright-gpu-74537
08/10/2022, 8:54 AMbright-gpu-74537
08/10/2022, 8:54 AMbright-gpu-74537
08/10/2022, 8:55 AMbright-gpu-74537
08/10/2022, 8:57 AMbright-gpu-74537
08/10/2022, 8:58 AMbest-agent-85158
08/10/2022, 9:00 AMbest-agent-85158
08/10/2022, 9:00 AMbest-agent-85158
08/10/2022, 9:00 AMbest-agent-85158
08/10/2022, 12:54 PMbest-agent-85158
08/10/2022, 12:54 PMbright-gpu-74537
08/10/2022, 1:34 PMbright-gpu-74537
08/10/2022, 1:34 PMbest-agent-85158
08/10/2022, 1:55 PMloud-salesclerk-7438
08/10/2022, 7:47 PMThere was a problem validating this component as it has already been destroyed
crash, which coincidentally happens in the same syncComponentValidation
function.
my sample code is probably not really realistic, because it involves simulating very fast mouse clicks (although from within the same application and main thread).loud-salesclerk-7438
08/10/2022, 7:47 PMvalidateComponent
exits out on _isDisposed == true
so nothing is ever done with it and the loop in syncComponentValidation
always runs into count >= 10 for these cases.bright-gpu-74537
08/11/2022, 5:46 AMloud-salesclerk-7438
08/11/2022, 8:41 AMTimer.delay
based loop. it's probably cheating since a user won't be able to click that fast, although I have seen it happen with "larger" pauses between clicks. it just takes longer to occur, when clicks are further apart.
my test project consists of a single button that will open a dialog. so click 1 will go to the button which will open a dialog, click 2 goes to modal background cover which auto-cancels the dialog, click 3 back on button and so on. so for very fast clicks show
of dialog might not have completed / run when click on modal background cancels (and disposes) it.loud-salesclerk-7438
08/11/2022, 8:41 AMsyncComponentValidation
there is no way (at least I see none) a disposed component will not end up running into count >= 10
and produce that error messagebright-gpu-74537
08/11/2022, 8:43 AMloud-salesclerk-7438
08/11/2022, 8:45 AMbright-gpu-74537
08/11/2022, 8:46 AMbright-gpu-74537
08/11/2022, 8:46 AMloud-salesclerk-7438
08/11/2022, 8:56 AMloud-salesclerk-7438
08/11/2022, 8:57 AMif (this._isDisposed) return
at the start of my syncComponentValidation