mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-07 11:46:30 +02:00
[FancyZones Editor] memory leaks crash fix (#12876)
This commit is contained in:
@@ -134,12 +134,20 @@ namespace FancyZonesEditor
|
||||
|
||||
public void Show()
|
||||
{
|
||||
var mainWindowSettings = ((App)Application.Current).MainWindowSettings;
|
||||
if (_layoutPreview != null)
|
||||
{
|
||||
mainWindowSettings.PropertyChanged -= _layoutPreview.ZoneSettings_PropertyChanged;
|
||||
}
|
||||
|
||||
_layoutPreview = new LayoutPreview
|
||||
{
|
||||
IsActualSize = true,
|
||||
Opacity = 1,
|
||||
};
|
||||
|
||||
mainWindowSettings.PropertyChanged += _layoutPreview.ZoneSettings_PropertyChanged;
|
||||
|
||||
ShowLayout();
|
||||
OpenMainWindow();
|
||||
}
|
||||
@@ -160,7 +168,10 @@ namespace FancyZonesEditor
|
||||
|
||||
for (int i = 0; i < DesktopsCount; i++)
|
||||
{
|
||||
Monitors[i].Window.Show();
|
||||
if (!Monitors[i].Window.IsVisible)
|
||||
{
|
||||
Monitors[i].Window.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,13 +229,23 @@ namespace FancyZonesEditor
|
||||
|
||||
public void CloseEditor()
|
||||
{
|
||||
var mainWindowSettings = ((App)Application.Current).MainWindowSettings;
|
||||
|
||||
_editorLayout = null;
|
||||
|
||||
if (_layoutPreview != null)
|
||||
{
|
||||
mainWindowSettings.PropertyChanged -= _layoutPreview.ZoneSettings_PropertyChanged;
|
||||
}
|
||||
|
||||
_layoutPreview = new LayoutPreview
|
||||
{
|
||||
IsActualSize = true,
|
||||
Opacity = 1,
|
||||
};
|
||||
|
||||
mainWindowSettings.PropertyChanged += _layoutPreview.ZoneSettings_PropertyChanged;
|
||||
|
||||
CurrentLayoutWindow.Content = _layoutPreview;
|
||||
|
||||
OpenMainWindow();
|
||||
|
||||
Reference in New Issue
Block a user