Fix 8586 8587 - [Tizen] Added guard for CollectionView (#9367) fixes #8586 #8587

* [Tizen] Remove events on unbinding in CollectionView

- Resolves bug #8587

* [Tizen] Guard for sizeless layout requests in CollectionView

- Resolves bug #8586
This commit is contained in:
sung-su.kim 2020-02-04 20:30:37 +09:00 коммит произвёл GitHub
Родитель 1880507d8b
Коммит 8d5f26de77
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -495,6 +495,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
void RequestLayoutItems()
{
if (AllocatedSize.Width <= 0 || AllocatedSize.Height <= 0)
return;
if (!_requestLayoutItems)
{
_requestLayoutItems = true;

Просмотреть файл

@ -115,6 +115,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public void LayoutItems(Rect bound, bool force)
{
if (_allocatedSize.Width <= 0 || _allocatedSize.Height <= 0)
return;
// TODO : need to optimization. it was frequently called with similar bound value.
if (!ShouldRearrange(bound) && !force)
{

Просмотреть файл

@ -104,9 +104,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public override void RemoveNativeView(EvasObject native)
{
UnBinding(native);
if (_nativeFormsTable.TryGetValue(native, out View view))
{
ResetBindedView(view);
Platform.GetRenderer(view)?.Dispose();
_nativeFormsTable.Remove(native);
}
@ -178,7 +178,7 @@ namespace Xamarin.Forms.Platform.Tizen.Native
int index = GetItemIndex(data);
if (index != -1)
{
CollectionView.ItemMeasureInvalidated(index);
CollectionView?.ItemMeasureInvalidated(index);
}
}
}

Просмотреть файл

@ -110,6 +110,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public void LayoutItems(Rect bound, bool force)
{
if (_allocatedSize.Width <= 0 || _allocatedSize.Height <= 0)
return;
// TODO : need to optimization. it was frequently called with similar bound value.
if (!ShouldRearrange(bound) && !force)
{