Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Ungureanu <marius.ungureanu@xamarin.com>2016-07-04 17:49:55 +0300
committerMarius Ungureanu <marius.ungureanu@xamarin.com>2016-07-04 19:05:15 +0300
commit4cf8d78fa4a6ed5c57f53b748812c7fe9f9e48a9 (patch)
tree0d88866bdb67837dc73473cfcd7ac57dffb6385e /main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking
parentaf76408b4380c0fcdb6d470c190513ce7dd17386 (diff)
[Ide] Optimize DockContainer.ForAll
Get rid of the intermediate list that's used to collect the widgets to use the callback on. Shaves a few milliseconds on each ForAll call (pretty often)
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockContainer.cs15
1 files changed, 6 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockContainer.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockContainer.cs
index 02d677b87b..a606782e93 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockContainer.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockContainer.cs
@@ -171,21 +171,18 @@ namespace MonoDevelop.Components.Docking
protected override void ForAll (bool include_internals, Gtk.Callback callback)
{
- List<Widget> widgets = new List<Widget> ();
foreach (Widget w in notebooks)
- widgets.Add (w);
+ callback (w);
foreach (DockItem it in items) {
if (it.HasWidget && it.Widget.Parent == this) {
- widgets.Add (it.Widget);
+ callback (it.Widget);
if (it.TitleTab.Parent == this)
- widgets.Add (it.TitleTab);
+ callback (it.TitleTab);
}
}
- foreach (var s in splitters.Where (w => w.Parent != null))
- widgets.Add (s);
-
- foreach (Widget w in widgets)
- callback (w);
+ foreach (var s in splitters)
+ if (s.Parent != null)
+ callback (s);
}
protected override bool OnExposeEvent (Gdk.EventExpose evnt)