diff options
author | therzok <marius.ungureanu@xamarin.com> | 2016-10-12 15:08:05 +0300 |
---|---|---|
committer | therzok <marius.ungureanu@xamarin.com> | 2016-10-12 15:08:05 +0300 |
commit | 795921082e8f15cbdc4f43bc788c21a8384acede (patch) | |
tree | 3ae0a4a104c545d46d8d1a5350a296c9283569c5 /main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking | |
parent | da2c3ec6b00bdf626955fd82e23d029da183261a (diff) |
[Ide] Ensure animations are aborted on object destroy
This allows for fewer fail-prone spots where someone would access a member that could probably get destroyed with the widget.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs | 7 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs index 94ced4e57d..990cf76d7a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockBarItem.cs @@ -80,6 +80,12 @@ namespace MonoDevelop.Components.Docking toSecondary ? 1.0f : 0.0f); } + protected override void OnDestroyed () + { + this.AbortAnimation ("CrossfadeIconSwap"); + base.OnDestroyed (); + } + protected override void OnSizeRequested (ref Requisition requisition) { base.OnSizeRequested (ref requisition); @@ -180,6 +186,7 @@ namespace MonoDevelop.Components.Docking protected override void OnDestroyed () { + this.AbortAnimation ("Hover"); base.OnDestroyed (); bar.Frame.SizeAllocated -= HandleBarFrameSizeAllocated; Ide.Gui.Styles.Changed -= UpdateStyle; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs index 5ce3c7a7e7..509efa9161 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs @@ -130,6 +130,13 @@ namespace MonoDevelop.Components.Docking internal bool OverlayWidgetVisible { get; set; } + protected override void OnDestroyed () + { + this.AbortAnimation ("ShowOverlayWidget"); + this.AbortAnimation ("HideOverlayWidget"); + base.OnDestroyed (); + } + public void AddOverlayWidget (Widget widget, bool animate = false) { RemoveOverlayWidget (false); |