diff --git a/Greenshot/Drawing/DrawableContainer.cs b/Greenshot/Drawing/DrawableContainer.cs index 989cc9d07..73c59713a 100644 --- a/Greenshot/Drawing/DrawableContainer.cs +++ b/Greenshot/Drawing/DrawableContainer.cs @@ -484,7 +484,7 @@ namespace Greenshot.Drawing { return; } - _parent.FieldAggregator?.UnbindElement(this); + _parent?.FieldAggregator?.UnbindElement(this); _parent = newParent; foreach(IFilter filter in Filters) { diff --git a/Greenshot/Drawing/Surface.cs b/Greenshot/Drawing/Surface.cs index 8b56d16f3..2ec781963 100644 --- a/Greenshot/Drawing/Surface.cs +++ b/Greenshot/Drawing/Surface.cs @@ -1618,7 +1618,10 @@ namespace Greenshot.Drawing { element.FieldChanged -= element_FieldChanged; } - element.Parent = null; + if (elementToRemove != null) + { + elementToRemove.Parent = null; + } // Do not dispose, the memento should!! element.Dispose(); if (invalidate) {