Fixes #2073. Fixes regression introduced in v1.8.2: Nesting `MainLoop.Invoke` deadlocks
@@ -306,9 +306,12 @@ namespace Terminal.Gui {
Driver.MainIteration ();
+ bool runIdle = false;
lock (idleHandlersLock) {
- if (idleHandlers.Count > 0)
- RunIdle ();
+ runIdle = idleHandlers.Count > 0;
+ }
+ if (runIdle) {
+ RunIdle ();
}