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:
authortherzok <marius.ungureanu@xamarin.com>2016-10-12 15:08:05 +0300
committertherzok <marius.ungureanu@xamarin.com>2016-10-12 15:08:05 +0300
commit795921082e8f15cbdc4f43bc788c21a8384acede (patch)
tree3ae0a4a104c545d46d8d1a5350a296c9283569c5 /main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking
parentda2c3ec6b00bdf626955fd82e23d029da183261a (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.cs7
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockFrame.cs7
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);