]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix salvage magnet UI opening again when activating the console twice (#28010)
authorShadowCommander <shadowjjt@gmail.com>
Tue, 14 May 2024 23:59:46 +0000 (16:59 -0700)
committerGitHub <noreply@github.com>
Tue, 14 May 2024 23:59:46 +0000 (19:59 -0400)
Content.Client/Salvage/UI/SalvageMagnetBoundUserInterface.cs

index 36fbdd90e2858c086377becd0e407e3b78a75be3..eafb692733f3613ac839399bd9a27e7c7bbf7bb4 100644 (file)
@@ -20,10 +20,14 @@ public sealed class SalvageMagnetBoundUserInterface : BoundUserInterface
     protected override void Open()
     {
         base.Open();
-        _window = new OfferingWindow();
-        _window.Title = Loc.GetString("salvage-magnet-window-title");
-        _window.OnClose += Close;
-        _window.OpenCenteredLeft();
+
+        if (_window is null)
+        {
+            _window = new OfferingWindow();
+            _window.Title = Loc.GetString("salvage-magnet-window-title");
+            _window.OnClose += Close;
+            _window.OpenCenteredLeft();
+        }
     }
 
     protected override void UpdateState(BoundUserInterfaceState state)
@@ -108,4 +112,15 @@ public sealed class SalvageMagnetBoundUserInterface : BoundUserInterface
             _window.AddOption(option);
         }
     }
+
+    protected override void Dispose(bool disposing)
+    {
+        base.Dispose(disposing);
+
+        if (disposing)
+        {
+            _window?.Close();
+            _window?.Dispose();
+        }
+    }
 }