diff options
author | Mike Krüger <mkrueger@novell.com> | 2010-05-04 17:08:57 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@novell.com> | 2010-05-04 17:08:57 +0400 |
commit | c408dc2ba3e34ed3188413546c2c6589965ed4a4 (patch) | |
tree | e78cb4745b4709b49df3189144a02845f58ad409 | |
parent | 0a98173cbfac8141d306d18c5619aed4444091aa (diff) |
* MonoDevelop.Components.Commands/CommandManager.cs: Remove
unnecessary fix for the IntPtr problem.
* MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs: Status bar status boxes
are no longer overwriting each other & fixed little status bar leak.
svn path=/trunk/monodevelop/; revision=156669
3 files changed, 21 insertions, 18 deletions
diff --git a/main/src/core/MonoDevelop.Ide/ChangeLog b/main/src/core/MonoDevelop.Ide/ChangeLog index d286d6d2de..eea71c70c2 100644 --- a/main/src/core/MonoDevelop.Ide/ChangeLog +++ b/main/src/core/MonoDevelop.Ide/ChangeLog @@ -1,3 +1,12 @@ +2010-05-04 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Components.Commands/CommandManager.cs: Remove + unnecessary fix for the IntPtr problem. + + * MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs: Status bar + status boxes are no longer overwriting each other & fixed + little status bar leak. + 2010-05-03 Michael Hutchinson <mhutchinson@novell.com> * gtk-gui/gui.stetic: diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs index fa0068211e..8d07ba9c77 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs @@ -1008,13 +1008,10 @@ namespace MonoDevelop.Components.Commands if (!win.IsRealized) win = null; - if (win != null) { RegisterTopWindow (win); Gtk.Widget widget = win; while (widget is Gtk.Container) { - if (!widget.IsRealized || !widget.Visible) - return null; Gtk.Widget child = ((Gtk.Container)widget).FocusChild; if (child != null) widget = child; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs index 20049f32cd..6d24e1406e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/MonoDevelopStatusBar.cs @@ -48,7 +48,9 @@ namespace MonoDevelop.Ide HBox statusBox; HBox messageBox; Image currentStatusImage; - EventBox eventBox; + + HBox statusIconBox; + List<StatusBarContextImpl> contexts = new List<StatusBarContextImpl> (); MainStatusBarContextImpl mainContext; StatusBarContextImpl activeContext; @@ -115,9 +117,9 @@ namespace MonoDevelop.Ide cursorLabel = new Label (" "); statusBox.PackEnd (cursorLabel, false, false, 0); - eventBox = new EventBox (); - eventBox.BorderWidth = 0; - statusBox.PackEnd (eventBox, false, false, 4); + statusIconBox = new HBox (); + statusIconBox.BorderWidth = 0; + statusBox.PackEnd (statusIconBox, false, false, 4); this.PackStart (textStatusBarPanel, true, true, 0); @@ -132,7 +134,7 @@ namespace MonoDevelop.Ide this.progressBar.Fraction = 0.0; this.ShowAll (); - eventBox.HideAll (); + statusIconBox.HideAll (); originalFrame.HideAll (); progressBar.Visible = false; @@ -294,22 +296,17 @@ namespace MonoDevelop.Ide Gtk.Image image = new Gtk.Image (pixbuf); image.SetPadding (0, 0); - if (eventBox.Child != null) - eventBox.Remove (eventBox.Child); + EventBox eventBox = new EventBox (); eventBox.Child = image; - - eventBox.ShowAll (); + statusIconBox.PackEnd (eventBox); + statusIconBox.ShowAll (); return new StatusIcon (this, eventBox, pixbuf); } void HideStatusIcon (StatusIcon icon) { - Widget child = icon.EventBox.Child; - if (child != null) { - icon.EventBox.Remove (child); - child.Destroy (); - } - eventBox.HideAll (); + statusIconBox.Remove (icon.EventBox); + icon.EventBox.Destroy (); } #region Progress Monitor implementation |