aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs30
1 files changed, 20 insertions, 10 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
index 2c3c9ccb9..ed5f8b394 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -42,6 +42,7 @@ namespace Tango.MachineStudio.UI.StudioApplication
private INotificationProvider _notification;
private List<Window> _openedWindows;
private List<IStudioViewModel> _notified_view_models;
+ private bool _isDialogShown;
/// <summary>
/// Occurs when the application is ready.
@@ -139,19 +140,28 @@ namespace Tango.MachineStudio.UI.StudioApplication
{
String failed_reason = (sender as IMachineOperator).FailedStateException.Message;
- ConnectionLostViewVM vm = new ConnectionLostViewVM()
+ if (!_isDialogShown)
{
- Exception = failed_reason,
- AutoReconnect = reconnect,
- };
+ _isDialogShown = true;
- InvokeUI(() =>
- {
- _notification.ShowModalDialog<ConnectionLostViewVM, ConnectionLostView>(vm, (x) =>
+ ConnectionLostViewVM vm = new ConnectionLostViewVM()
+ {
+ Exception = failed_reason,
+ AutoReconnect = reconnect,
+ };
+
+ InvokeUI(() =>
{
- ReconnectionRequired?.Invoke(this, new EventArgs());
- }, () => { });
- });
+ _notification.ShowModalDialog<ConnectionLostViewVM, ConnectionLostView>(vm, (x) =>
+ {
+ _isDialogShown = false;
+ ReconnectionRequired?.Invoke(this, new EventArgs());
+ }, () =>
+ {
+ _isDialogShown = false;
+ });
+ });
+ }
}
}
}