Ensure EUIs close themselves (#15860)
This commit is contained in:
@@ -19,6 +19,7 @@ public sealed class AdminLogsEui : BaseEui
|
||||
public AdminLogsEui()
|
||||
{
|
||||
LogsWindow = new AdminLogsWindow();
|
||||
LogsWindow.OnClose += OnCloseWindow;
|
||||
LogsControl = LogsWindow.Logs;
|
||||
|
||||
LogsControl.LogSearch.OnTextEntered += _ => RequestLogs();
|
||||
@@ -39,7 +40,13 @@ public sealed class AdminLogsEui : BaseEui
|
||||
|
||||
private void OnRequestClosed(WindowRequestClosedEventArgs args)
|
||||
{
|
||||
SendMessage(new Close());
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
private void OnCloseWindow()
|
||||
{
|
||||
if (ClydeWindow == null)
|
||||
SendMessage(new CloseEuiMessage());
|
||||
}
|
||||
|
||||
private void RequestLogs()
|
||||
@@ -74,10 +81,6 @@ public sealed class AdminLogsEui : BaseEui
|
||||
return;
|
||||
}
|
||||
|
||||
LogsControl.Orphan();
|
||||
LogsWindow.Dispose();
|
||||
LogsWindow = null;
|
||||
|
||||
var monitor = _clyde.EnumerateMonitors().First();
|
||||
|
||||
ClydeWindow = _clyde.CreateWindow(new WindowCreateParameters
|
||||
@@ -89,6 +92,10 @@ public sealed class AdminLogsEui : BaseEui
|
||||
Height = 400
|
||||
});
|
||||
|
||||
LogsControl.Orphan();
|
||||
LogsWindow.Dispose();
|
||||
LogsWindow = null;
|
||||
|
||||
ClydeWindow.RequestClosed += OnRequestClosed;
|
||||
ClydeWindow.DisposeOnClose = true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user