protected override void Dispose(bool disposing)
{
if (disposing)
{
if (_ribbonLabel != null)
{
// Remove back reference to the paint delegate
_ribbonLabel.ViewPaintDelegate = null;
// Must unhook to prevent memory leaks
_ribbonLabel.PropertyChanged -= new PropertyChangedEventHandler(OnLabelPropertyChanged);
// Remove association with definition
_ribbonLabel.LabelView = null;
_ribbonLabel = null;
}
}
base.Dispose(disposing);
}