diff options
| author | Michael <[email protected]> | 2017-04-03 18:36:13 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-04-03 18:36:13 -0400 |
| commit | f43f6fe17d054f83c686b552201d6b4bfc83524d (patch) | |
| tree | b66ca011496569fc99df3fbe53bfc5d212557bab /ShiftOS.WinForms/WinformsWindowManager.cs | |
| parent | 29a88a5c46dff19358b44defdc52bb75db12b9ad (diff) | |
| download | shiftos_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.cs | 17 |
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); + } } } |
