aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/WinformsWindowManager.cs
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-04-03 18:36:13 -0400
committerMichael <[email protected]>2017-04-03 18:36:13 -0400
commitf43f6fe17d054f83c686b552201d6b4bfc83524d (patch)
treeb66ca011496569fc99df3fbe53bfc5d212557bab /ShiftOS.WinForms/WinformsWindowManager.cs
parent29a88a5c46dff19358b44defdc52bb75db12b9ad (diff)
downloadshiftos_thereturn-f43f6fe17d054f83c686b552201d6b4bfc83524d.tar.gz
shiftos_thereturn-f43f6fe17d054f83c686b552201d6b4bfc83524d.tar.bz2
shiftos_thereturn-f43f6fe17d054f83c686b552201d6b4bfc83524d.zip
LOADS of optimizations and Pong fixes.
Diffstat (limited to 'ShiftOS.WinForms/WinformsWindowManager.cs')
-rw-r--r--ShiftOS.WinForms/WinformsWindowManager.cs17
1 files changed, 9 insertions, 8 deletions
diff --git a/ShiftOS.WinForms/WinformsWindowManager.cs b/ShiftOS.WinForms/WinformsWindowManager.cs
index 26438bf..cfcb6d3 100644
--- a/ShiftOS.WinForms/WinformsWindowManager.cs
+++ b/ShiftOS.WinForms/WinformsWindowManager.cs
@@ -184,20 +184,21 @@ namespace ShiftOS.WinForms
if (maxWindows > 0)
{
- List<WindowBorder> formstoclose = new List<WindowBorder>();
-
- for (int i = 0; i < maxWindows && i < AppearanceManager.OpenForms.Count; i++)
+ var windows = new List<WindowBorder>();
+ foreach(var WB in AppearanceManager.OpenForms)
{
- var frm = AppearanceManager.OpenForms[i] as WindowBorder;
- if(!frm.IsDialog)
- formstoclose.Add(frm);
-
+ if (WB is WindowBorder)
+ windows.Add(WB as WindowBorder);
}
+ List<WindowBorder> formstoclose = new List<WindowBorder>(windows.Where(x => x.IsDialog == false).ToArray());
+
while (formstoclose.Count > maxWindows - 1)
{
- formstoclose[0].Close();
+ this.Close(formstoclose[0].ParentWindow);
+ AppearanceManager.OpenForms.Remove(formstoclose[0]);
formstoclose.RemoveAt(0);
+
}
}
}