New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] Null Element before disposing trial renderers in uneven ListViews #894

Merged
merged 2 commits into from May 2, 2017

Conversation

Projects
None yet
5 participants
@samhouts
Member

samhouts commented May 2, 2017

Description of Change

#524 added renderer?.Dispose() to clean up the trial renderers that were created to calculate cell height when the ListView had uneven rows. This had an unintended consequence of setting the Elements (in this case, any child Elements of a ViewCell) to null, which in turn caused some strange behaviors when the ViewCell's content was changed.

We will now unhook the Element from the renderer entirely before we dispose it to prevent this behavior from occurring.

Bugs Fixed

--- Needs to be backported to 2.3.5 ---

API Changes

None

Behavioral Changes

None

PR Checklist

  • Has tests (if omitted, state reason in description)
  • Rebased on top of master at time of PR
  • Changes adhere to coding standard
  • Consolidate commits as makes sense

samhouts added some commits May 2, 2017

@hartez

hartez approved these changes May 2, 2017

@samhouts samhouts merged commit 20bfa5b into master May 2, 2017

8 checks passed

Android-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: UI Tests :: OSX Test Cloud Package - Run Android 6.0.1 : Tests passe…
Details
Android-UITests-LegacyRenderers Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: UI Tests :: OSX Test Cloud Package - Run Android 6.0.1 (Legacy Rende…
Details
OSX-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: OSX Debug : Running
Details
Windows-Debug-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: Windows Debug : Tests passed: 3782, ignored: 10
Details
Windows-Release Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: Windows Release Unit Tests : Tests passed: 3782, ignored: 10
Details
iOS10-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS10 : Tests p…
Details
iOS8-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified IOS8 : Tests pa…
Details
iOS9-UITests-C8 Finished TeamCity Build Xamarin.Forms :: Debug :: Stable - Cycle 9 :: UI Tests :: OSX Test Cloud Package - Run iOS Unified iOS9 : Tests pa…
Details

@samhouts samhouts deleted the fix-bugzilla55745 branch May 2, 2017

StephaneDelcroix added a commit that referenced this pull request May 3, 2017

[iOS] Null Element before disposing trial renderers in uneven ListVie…
…ws (#894)

* Add repro for 55745

* [iOS] Null Element before disposing trial renderers

assemhakmeh added a commit to assemhakmeh/Xamarin.Forms that referenced this pull request May 12, 2017

Merge branch '2.3.5' into ios-fastrenderers
* 2.3.5:
  [C] fix BP declaring Types for A11y (#913)
  [All] Rename Accessibility -> AutomationProperties (#912)
  Fix build
  [Core] Accessibility works with XamlC (#911)
  Fix bugzilla55542 (#898)
  [Android] Add null check before creating and drawing canvas bugzilla 55559 & 45602 (#899)
  Give layouts a chance to handle touch events after passing though immediate children (#902)
  Add disposed check on FastRenderer.VisualElemen... (#888)
  [Android] Add disposed check on FastRenderers.LabelRenderer (#886)
  add disposed check on FastRenderers.FrameRenderer (#887)
  [iOS] Null Element before disposing trial renderers in uneven ListViews (#894)
  [Xaml] move ValueConverterProvider to Core (#890)

@samhouts samhouts added D-15.4 and removed cla-not-required labels Oct 10, 2017

@samhouts samhouts added this to the 2.3.5 milestone Jun 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment