Fixes #1396. Using the Loaded event instead the Ready event.

This commit is contained in:
BDisp
2021-07-26 13:12:02 +01:00
parent 52a5fccdc4
commit f1f86c4288

View File

@@ -273,20 +273,31 @@ namespace UICatalog {
_top.Add (_rightPane);
_top.Add (_statusBar);
_top.Loaded += () => {
void TopHandler () {
if (_runningScenario != null) {
_runningScenario = null;
_isFirstRunning = false;
}
};
void ReadyHandler ()
{
if (!_isFirstRunning) {
_rightPane.SetFocus ();
}
_top.Ready -= ReadyHandler;
_top.Loaded -= TopHandler;
}
_top.Ready += ReadyHandler;
_top.Loaded += TopHandler;
// The following code was moved to the TopHandler event
// because in the MainLoop.EventsPending (wait)
// from the Application.RunLoop with the WindowsDriver
// the OnReady event is triggered due the Focus event.
// On CursesDriver and NetDriver the focus event won't be triggered
// and if it's possible I don't know how to do it.
//void ReadyHandler ()
//{
// if (!_isFirstRunning) {
// _rightPane.SetFocus ();
// }
// _top.Ready -= ReadyHandler;
//}
//_top.Ready += ReadyHandler;
Application.Run (_top);
return _runningScenario;