diff options
author | juliuszint <julius.zint@awin-software.de> | 2017-06-26 20:29:23 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2017-06-26 11:29:23 -0700 |
commit | 3b11401558678a27d6c6f5103e58252de04761f0 (patch) | |
tree | 837ccc900863df401f3fc1d54bda40858a5a795f | |
parent | 4e4da6fee54a86ded0b623ee598a43a2609f1929 (diff) | |
download | xamarin-forms-3b11401558678a27d6c6f5103e58252de04761f0.tar.gz xamarin-forms-3b11401558678a27d6c6f5103e58252de04761f0.tar.bz2 xamarin-forms-3b11401558678a27d6c6f5103e58252de04761f0.zip |
Unsubscribe from IDefinition.SizeChanged event when set via indexer (#1014)
* Unsubscribe from IDefinition.SizeChanged event when set via indexer
* added bounds and null check to preserve original exception
* index check for negative values
-rw-r--r-- | Xamarin.Forms.Core/DefinitionCollection.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Xamarin.Forms.Core/DefinitionCollection.cs b/Xamarin.Forms.Core/DefinitionCollection.cs index bf0e4d06..6310a421 100644 --- a/Xamarin.Forms.Core/DefinitionCollection.cs +++ b/Xamarin.Forms.Core/DefinitionCollection.cs @@ -83,6 +83,9 @@ namespace Xamarin.Forms get { return _internalList[index]; } set { + if(index < _internalList.Count && _internalList[index] != null && index >= 0) + _internalList[index].SizeChanged -= OnItemSizeChanged; + _internalList[index] = value; value.SizeChanged += OnItemSizeChanged; OnItemSizeChanged(this, EventArgs.Empty); @@ -106,4 +109,4 @@ namespace Xamarin.Forms eh(this, EventArgs.Empty); } } -}
\ No newline at end of file +} |