diff --git a/Source/Editor/Tools/Foliage/FoliageTab.cs b/Source/Editor/Tools/Foliage/FoliageTab.cs
index bbad9018b..fe4120035 100644
--- a/Source/Editor/Tools/Foliage/FoliageTab.cs
+++ b/Source/Editor/Tools/Foliage/FoliageTab.cs
@@ -100,7 +100,7 @@ namespace FlaxEditor.Tools.Foliage
public FoliageTab(SpriteHandle icon, Editor editor)
: base(string.Empty, icon)
{
- Level.SceneLoaded += this.OnSceneLoaded;
+ Level.SceneLoaded += OnSceneLoaded;
Editor = editor;
Editor.SceneEditing.SelectionChanged += OnSelectionChanged;
@@ -152,7 +152,7 @@ namespace FlaxEditor.Tools.Foliage
{
_createNewFoliage.Enabled = true;
- Level.SceneUnloaded += this.OnSceneUnloaded;
+ Level.SceneUnloaded += OnSceneUnloaded;
Level.SceneLoaded -= OnSceneLoaded;
}
@@ -161,7 +161,7 @@ namespace FlaxEditor.Tools.Foliage
_createNewFoliage.Enabled = false;
Level.SceneLoaded += OnSceneLoaded;
- Level.SceneUnloaded -= this.OnSceneUnloaded;
+ Level.SceneUnloaded -= OnSceneUnloaded;
}
private void OnSelected(Tab tab)
@@ -267,5 +267,16 @@ namespace FlaxEditor.Tools.Foliage
{
SelectedFoliageTypesChanged?.Invoke();
}
+
+ ///
+ public override void OnDestroy()
+ {
+ if (_createNewFoliage.Enabled)
+ Level.SceneUnloaded -= OnSceneUnloaded;
+ else
+ Level.SceneLoaded -= OnSceneLoaded;
+
+ base.OnDestroy();
+ }
}
}
diff --git a/Source/Editor/Tools/Terrain/CarveTab.cs b/Source/Editor/Tools/Terrain/CarveTab.cs
index 37ce82c1f..e7b880414 100644
--- a/Source/Editor/Tools/Terrain/CarveTab.cs
+++ b/Source/Editor/Tools/Terrain/CarveTab.cs
@@ -58,7 +58,7 @@ namespace FlaxEditor.Tools.Terrain
public CarveTab(SpriteHandle icon, Editor editor)
: base(string.Empty, icon)
{
- Level.SceneLoaded += this.OnSceneLoaded;
+ Level.SceneLoaded += OnSceneLoaded;
Editor = editor;
Editor.SceneEditing.SelectionChanged += OnSelectionChanged;
@@ -105,12 +105,12 @@ namespace FlaxEditor.Tools.Terrain
};
_createTerrainButton.Clicked += OnCreateNewTerrainClicked;
}
-
+
private void OnSceneLoaded(Scene arg1, Guid arg2)
{
_createTerrainButton.Enabled = true;
- Level.SceneUnloaded += this.OnSceneUnloaded;
+ Level.SceneUnloaded += OnSceneUnloaded;
Level.SceneLoaded -= OnSceneLoaded;
}
@@ -119,7 +119,7 @@ namespace FlaxEditor.Tools.Terrain
_createTerrainButton.Enabled = false;
Level.SceneLoaded += OnSceneLoaded;
- Level.SceneUnloaded -= this.OnSceneUnloaded;
+ Level.SceneUnloaded -= OnSceneUnloaded;
}
private void OnSelected(Tab tab)
@@ -202,5 +202,16 @@ namespace FlaxEditor.Tools.Terrain
default: throw new IndexOutOfRangeException("Invalid carve tab mode.");
}
}
+
+ ///
+ public override void OnDestroy()
+ {
+ if (_createTerrainButton.Enabled)
+ Level.SceneUnloaded -= OnSceneUnloaded;
+ else
+ Level.SceneLoaded -= OnSceneLoaded;
+
+ base.OnDestroy();
+ }
}
}