The problem is that disable doesn’t take effect until after the button action event ends. By that time, your code has completed and any clicks have just queued up in the event loop. You need to get your long-running code out of the action event via CallLater or a Thread.
4 Likes