Skip to content

Add defensive IsAlive check to Android ViewExtensions.OnUnloaded #29934

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

Merged
merged 4 commits into from
Jun 13, 2025

Conversation

jfversluis
Copy link
Member

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Adds a defensive IsAlive() check to the OnUnloaded method in ViewExtensions.cs to ensure that the routedEventHandler is not null before attempting to remove it from the ViewAttachedToWindow event.

Issues Fixed

Fixes #28051

@analyticgal
Copy link

Looks like you are adding the IsAlive check to OnLoaded insted of OnUnLoaded, based on your commits.
The title of this ticket says it will be done to OnUnLoaded.
Is this going to resolve the problem?

@PureWeen
Copy link
Member

Looks like you are adding the IsAlive check to OnLoaded insted of OnUnLoaded, based on your commits. The title of this ticket says it will be done to OnUnLoaded. Is this going to resolve the problem?

AFAICT it's added to unloaded

@PureWeen PureWeen added this to the .NET 9 SR9 milestone Jun 12, 2025
@PureWeen PureWeen added the p/0 Work that we can't release without label Jun 12, 2025
@PureWeen PureWeen moved this from Todo to Ready To Review in MAUI SDK Ongoing Jun 12, 2025
@PureWeen PureWeen moved this from Ready To Review to Changes Requested in MAUI SDK Ongoing Jun 12, 2025
@PureWeen PureWeen moved this from Changes Requested to Ready To Review in MAUI SDK Ongoing Jun 12, 2025
@jfversluis jfversluis marked this pull request as ready for review June 13, 2025 11:52
@jfversluis jfversluis requested a review from a team as a code owner June 13, 2025 11:52
@jfversluis jfversluis requested a review from jsuarezruiz June 13, 2025 11:52
@github-project-automation github-project-automation bot moved this from Ready To Review to Approved in MAUI SDK Ongoing Jun 13, 2025
@PureWeen PureWeen changed the base branch from main to inflight/current June 13, 2025 20:13
@PureWeen PureWeen merged commit 1d0e7b7 into inflight/current Jun 13, 2025
127 of 130 checks passed
@PureWeen PureWeen deleted the try-fix-28051 branch June 13, 2025 20:13
@github-project-automation github-project-automation bot moved this from Approved to Done in MAUI SDK Ongoing Jun 13, 2025
github-actions bot pushed a commit that referenced this pull request Jun 16, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
@Syed-RI
Copy link

Syed-RI commented Jun 20, 2025

When is this going to be released?

@MartyIX
Copy link
Contributor

MartyIX commented Jun 20, 2025

SR9 should be released on the 2nd Tuesday of the next month. You can check the last releases to see that it's can be on a day or two after it but that's the general target AFAIK.

@Syed-RI
Copy link

Syed-RI commented Jun 20, 2025

Thanks

PureWeen added a commit that referenced this pull request Jun 21, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
PureWeen added a commit that referenced this pull request Jun 25, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
PureWeen added a commit that referenced this pull request Jun 25, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
github-actions bot pushed a commit that referenced this pull request Jun 26, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
github-actions bot pushed a commit that referenced this pull request Jun 26, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
PureWeen added a commit that referenced this pull request Jun 27, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
github-actions bot pushed a commit that referenced this pull request Jun 27, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
PureWeen added a commit that referenced this pull request Jun 27, 2025
)

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* Update ViewExtensions.cs

* - unsubscribe sooner

---------

Co-authored-by: Shane Neuville <[email protected]>
PureWeen added a commit that referenced this pull request Jun 28, 2025
For more information about inflight process check
https://github.com/dotnet/maui/wiki/Inflight-Branch-Process

# .NET MAUI Release Notes - Inflight/Candidate Branch

## What's Changed

### MAUI Product Fixes
* [iOS] CarouselView with CarouselViewHandler2 make app crash when
Loop="False" and user scroll to the last position - fixes #26863 by
@kubaflo in #26868
* Fixes Setting BackgroundColor to null does not actually changes
BackgroundColor - fixes #22914 and #19576 by @jgonzalez-gft in
#22917
* Fixed the picker title's color - fixes #16737 by @kubaflo in
#23075
* [android] Fallback to default icons in SearchHandler by @aheubusch in
#25067
* ScrollView's Background on iOS - fixes #24016 by @kubaflo in
#25541
* [iOS] Enabled MultiTouch Support for Handling Multi-Touch Points in
GraphicsView - fixes #29461 by @prakashKannanSf3972 in
#29895
* Optimize converters for GridLength, ColumnDefinition, and
RowDefinition - performance improvement by @emiller in
#20048
* Add defensive IsAlive check to Android ViewExtensions.OnUnloaded -
fixes #28051 by @jfversluis in #29934
* [Windows] Fixed runtime update issue for SearchBar PlaceholderColor
and BackgroundColor - fixes #29962 by @Tamilarasan-Paranthaman in
#29965
* Weak subscription to CanExecuteChange events - fixes #16124 by
@sneumaier in #29837
* [iOS, Mac] Fix for downsized image retaining original dimensions in
GraphicsView - fixes #30006 by @SyedAbdulAzeemSF4852 in
#30007
* [Android] Prevent Picker from Gaining Focus on Touch - fixes #19739,
#8546, #13503, #24862, #28121, #21704, #15394 by @bhavanesh2001 in
#29068
* Fix CV1 GridItemsLayout centering single item AND Fix Empty view not
resizing when bounds change - fixes #29595, #29634 by @albyrock87 in
#29639

### Testing
* [Testing] Feature Matrix UITest Cases for Button by @TamilarasanSF4853
in #29803
* [Testing] Feature matrix UITest Cases for BoxView Control by
@HarishKumarSF4517 in #29808
* [Testing] Enable HandlerDoesNotLeak for Button and ProgressBar by
@bhavanesh2001 in #29896
* [Testing] Add Validation Test For Issue28051 On Android by
@prakashKannanSf3972 in #30026
* [Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidate
by @HarishKumarSF4517 in #30136

### Dependency Updates
* Bump to 1.7.250606001 of WindowsAppSDK by @sneumaier in
#29915

### Housekeeping
* [housekeeping] Update namespaces in HostApp and Shared tests projects
by @bhavanesh2001 in #29904
* Update SetterSpecificity.cs Remove Extra Line From Bad Merge by
@sneumaier in #29987
* Revert - Fixed the Label not sized correctly on Android by @Ahamed-Ali
in #30023
* Revert "Fixes Setting BackgroundColor to null does not actually
changes BackgroundColor #22914 (#22917)" by @mattleibow in
#30031
* [create-pull-request] automated change by @github-actions[bot] in
#30019
* [create-pull-request] automated change by @github-actions[bot] in
#30043
* [create-pull-request] automated change by @github-actions[bot] in
#30078
* Update Controls.TestCases.HostApp.csproj by @HarishKumarSF4517 in
#30124

## New Contributors
* @albyrock87 made their first contribution in
#29639
* @SyedAbdulAzeemSF4852 made their first contribution in
#30007
* @emiller made their first contribution in
#20048
* @jgonzalez-gft made their first contribution in
#22917
* @aheubusch made their first contribution in
#25067

**Full Changelog**:
https://github.com/dotnet/maui/compare/main..inflight/candidate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p/0 Work that we can't release without
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

ViewExtensions.OnUnloaded causes app crash if the view is already disposed, this happens for web view in Blazor Hybrid apps
7 participants