Skip to content

[Android] Fix for Resize method returns an image that has already been disposed#29964

Merged
kubaflo merged 6 commits into
dotnet:inflight/currentfrom
SyedAbdulAzeemSF4852:fix-21886_2
Feb 23, 2026
Merged

[Android] Fix for Resize method returns an image that has already been disposed#29964
kubaflo merged 6 commits into
dotnet:inflight/currentfrom
SyedAbdulAzeemSF4852:fix-21886_2

Conversation

@SyedAbdulAzeemSF4852

@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 commented Jun 12, 2025

Copy link
Copy Markdown
Contributor

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!

Issue Details

  • In GraphicsView, the Resize method returns an image that has already been disposed.

Root Cause

  • The Bitmap property returned the internal _bitmap instance directly, which would be disposed during the Dispose() call if disposeBitmap was set to true, potentially leading to access of a disposed object.

Description of Change

  • Changed the disposeBitmap parameter to false in the PlatformImage.Resize method to prevent the returned image from being disposed on Android (PlatformImage.cs).

Issues Fixed

Fixes #29961
Fixes #31103

Validated the behaviour in the following platforms

  • Windows
  • Android
  • iOS
  • Mac

Output

Before After
Before.mov
After.mov

@dotnet-policy-service dotnet-policy-service Bot added the community ✨ Community Contribution label Jun 12, 2025
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hey there @@SyedAbdulAzeemSF4852! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@dotnet-policy-service dotnet-policy-service Bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Jun 12, 2025
@jsuarezruiz

Copy link
Copy Markdown
Contributor

/azp run MAUI-UITests-public

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 marked this pull request as ready for review June 16, 2025 12:54
Copilot AI review requested due to automatic review settings June 16, 2025 12:54
@SyedAbdulAzeemSF4852 SyedAbdulAzeemSF4852 requested a review from a team as a code owner June 16, 2025 12:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR ensures the Android Resize method returns a valid, non-disposed image by cloning the internal bitmap when disposal is requested.

  • Clone the internal bitmap in PlatformBitmapExportContext.Bitmap instead of returning the original.
  • Added a UI test in TestCases.Shared.Tests to verify the Resize method.
  • Implemented a host app page in TestCases.HostApp and embedded the sample image resource.

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

File Description
src/Graphics/src/Graphics/Platforms/Android/PlatformBitmapExportContext.cs Updated the Bitmap getter to return a copied instance when _disposeBitmap is true
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue29961.cs Added a UI test to verify the resized image is not disposed
src/Controls/tests/TestCases.HostApp/Issues/Issue29961.cs Created a host app page and button for exercising the resize behavior
src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj Embedded the royals.png image used by the host app test
Comments suppressed due to low confidence (1)

src/Graphics/src/Graphics/Platforms/Android/PlatformBitmapExportContext.cs:40

  • [nitpick] Cloning the bitmap on every access can be expensive. Consider caching the copied instance or providing an explicit CloneBitmap() method to avoid repeated allocations when Bitmap is accessed multiple times.
public Bitmap Bitmap => _disposeBitmap ? _bitmap.Copy(_bitmap.GetConfig(), false) : _bitmap;

{
Button button = new Button
{
AutomationId = $"Issue21886_1ResizeBtn",

Copilot AI Jun 16, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AutomationId is reused from Issue21886 and may conflict with other tests. Please update it to a unique identifier (e.g., Issue29961_ResizeBtn) to ensure uniqueness.

Copilot uses AI. Check for mistakes.
@@ -0,0 +1,27 @@
#if TEST_FAILS_ON_WINDOWS // Issue Link - https://github.com/dotnet/maui/issues/16767

Copilot AI Jun 16, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test is conditionally compiled only for Windows (TEST_FAILS_ON_WINDOWS), which prevents it from executing on Android. Remove or adjust the compilation symbol so the test runs on all relevant platforms.

Copilot uses AI. Check for mistakes.
@PureWeen PureWeen added this to the .NET 9 SR10 milestone Jun 26, 2025
{
Button button = new Button
{
AutomationId = $"Issue21886_1ResizeBtn",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This AutomationId looks like duplicated, could you use the issue identifier number?
Issue29961_ResizeBtn

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jsuarezruiz , Updated the AutomationId based on the suggestion.

public void VerifyResizeMethodReturnsValidImage()
{
App.WaitForElement("ConvertedImageStatusLabel");
App.Tap("Issue21886_1ResizeBtn");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue29961_ResizeBtn

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jsuarezruiz , Updated the AutomationId based on the suggestion.

@PureWeen PureWeen modified the milestones: .NET 9 SR10, .NET 9 SR12 Aug 4, 2025
@PureWeen PureWeen modified the milestones: .NET 9 SR12, .NET 10 SR1 Sep 10, 2025
@PureWeen PureWeen modified the milestones: .NET 10 SR1, .NET 10.0 SR2 Nov 4, 2025
@PureWeen PureWeen modified the milestones: .NET 10.0 SR2, .NET 10 SR4 Dec 13, 2025
@PureWeen PureWeen modified the milestones: .NET 10.0 SR4, .NET 10 SR5 Jan 21, 2026
@sheiksyedm

Copy link
Copy Markdown
Contributor

/rebase

@sheiksyedm sheiksyedm added the s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review) label Feb 13, 2026
@sheiksyedm

Copy link
Copy Markdown
Contributor

/azp run maui-pr-uitests ,maui-pr-devicetests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@dotnet dotnet deleted a comment from sheiksyedm Feb 15, 2026
@rmarinho rmarinho added s/agent-changes-requested AI agent recommends changes - found a better alternative or issues s/agent-gate-passed AI verified tests catch the bug (fail without fix, pass with fix) s/agent-fix-win AI found a better alternative fix than the PR labels Feb 15, 2026
@kubaflo

kubaflo commented Feb 15, 2026

Copy link
Copy Markdown
Contributor

Hi @SyedAbdulAzeemSF4852 could you please try try-fix (#2) Thanks!

@SyedAbdulAzeemSF4852

Copy link
Copy Markdown
Contributor Author

Hi @SyedAbdulAzeemSF4852 could you please try try-fix (#2) Thanks!

@kubaflo , As suggested, I have implemented Try-Fix (#2) and made the necessary changes.

@kubaflo kubaflo added the s/agent-fix-implemented PR author implemented the agent suggested fix label Feb 16, 2026
@rmarinho rmarinho added s/agent-approved AI agent recommends approval - PR fix is correct and optimal and removed s/agent-changes-requested AI agent recommends changes - found a better alternative or issues labels Feb 16, 2026
@kubaflo kubaflo changed the base branch from main to inflight/current February 23, 2026 23:32
@kubaflo kubaflo merged commit 6bf8b58 into dotnet:inflight/current Feb 23, 2026
17 of 27 checks passed
github-actions Bot pushed a commit that referenced this pull request Feb 24, 2026
…n disposed (#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes #29961 
Fixes #31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
jfversluis pushed a commit that referenced this pull request Mar 2, 2026
…n disposed (#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes #29961 
Fixes #31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
jfversluis pushed a commit that referenced this pull request Mar 2, 2026
…n disposed (#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes #29961 
Fixes #31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
github-actions Bot pushed a commit that referenced this pull request Mar 3, 2026
…n disposed (#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes #29961 
Fixes #31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
HarishKumarSF4517 pushed a commit to HarishKumarSF4517/maui that referenced this pull request Mar 5, 2026
…n disposed (dotnet#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes dotnet#29961 
Fixes dotnet#31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
github-actions Bot pushed a commit that referenced this pull request Mar 6, 2026
…n disposed (#29964)

<!-- Please let the below note in for people that find this PR -->
> [!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](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!

### Issue Details

- In GraphicsView, the Resize method returns an image that has already
been disposed.

### Root Cause

- The Bitmap property returned the internal _bitmap instance directly,
which would be disposed during the Dispose() call if disposeBitmap was
set to true, potentially leading to access of a disposed object.


### Description of Change

- Changed the disposeBitmap parameter to false in the
PlatformImage.Resize method to prevent the returned image from being
disposed on Android (PlatformImage.cs).

### Issues Fixed
Fixes #29961 
Fixes #31103

### Validated the behaviour in the following platforms

- [x] Windows
- [x] Android
- [x] iOS
- [x] Mac

### Output
| Before | After |
|----------|----------|
| <video
src="https://github.com/user-attachments/assets/a2f1bb88-ab79-4d71-9911-4eec716ecc8c">
| <video
src="https://github.com/user-attachments/assets/fe4e5aac-5179-4fd3-b781-61c900f804d0">
|
PureWeen added a commit that referenced this pull request Mar 11, 2026
## What's Coming

.NET MAUI inflight/candidate introduces significant improvements across
all platforms with focus on quality, performance, and developer
experience. This release includes 46 commits with various improvements,
bug fixes, and enhancements.


## Button
- [Android] Implemented material3 support for Button by @Dhivya-SF4094
in #33173
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 support for
Button](#33172)
  </details>

## CollectionView
- [Android] Fix RemainingItemsThresholdReachedCommand not firing when
CollectionView has Header and Footer both defined by @SuthiYuvaraj in
#29618
  <details>
  <summary>🔧 Fixes</summary>

- [Android : RemainingItemsThresholdReachedCommand not firing when
CollectionVew has Header and Footer both
defined](#29588)
  </details>

- [iOS/MacCatalyst] Fix CollectionView ScrollTo for horizontal layouts
by @Shalini-Ashokan in #33853
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS/MacCatalyst] CollectionView ScrollTo does not work with
horizontal Layout](#33852)
  </details>

- [iOS & Mac] Fixed IndicatorView Size doesnt update dynamically by
@SubhikshaSf4851 in #31129
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS, Catalyst] IndicatorView.IndicatorSize does not update
dynamically at runtime](#31064)
  </details>

- [Android] Fix for CollectionView Scrolled event is triggered on the
initial app load. by @BagavathiPerumal in
#33558
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] CollectionView Scrolled event is triggered on the initial
app load.](#33333)
  </details>

- [iOS, Android] Fix for CollectionView IsEnabled=false allows touch
interactions by @praveenkumarkarunanithi in
#31403
  <details>
  <summary>🔧 Fixes</summary>

- [More issues with CollectionView IsEnabled, InputTransparent, Opacity
via Styles and code behind](#19771)
  </details>

- [iOS] Fix VerticalOffset Update When Modifying
CollectionView.ItemsSource While Scrolled by @devanathan-vaithiyanathan
in #34153
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS]VerticalOffset Not Reset to Zero After Clearing ItemSource in
CollectionView](#26798)
  </details>

## DateTimePicker
- [Android] Fix DatePicker MinimumDate/MaximumDate not updating
dynamically by @HarishwaranVijayakumar in
#33687
  <details>
  <summary>🔧 Fixes</summary>

- [[regression/8.0.3] [Android] DatePicker control minimum date
issue](#19256)
- [[Android] DatePicker does not update MinimumDate / MaximumDate in the
Popup when set in the viewmodel after first
opening](#33583)
  </details>

## Drawing
- Android drawable perf by @albyrock87 in
#31567

## Editor
- [Android] Implemented material3 support for Editor by
@SyedAbdulAzeemSF4852 in #33478
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 Support for
Editor](#33476)
  </details>

## Entry
- [iOS, Mac] Fix for CursorPosition not updating when typing into Entry
control by @SyedAbdulAzeemSF4852 in
#30505
  <details>
  <summary>🔧 Fixes</summary>

- [Entry control CursorPosition does not update on TextChanged event
[iOS Maui 8.0.7] ](#20911)
- [CursorPosition not calculated correctly on behaviors events for iOS
devices](#32483)
  </details>

## Flyoutpage
- [Android, Windows] Fix for FlyoutPage toolbar button not updating on
orientation change by @praveenkumarkarunanithi in
#31962
  <details>
  <summary>🔧 Fixes</summary>

- [Flyout page in Android does not show flyout button (burger)
consistently](#24468)
  </details>

- Fix for First Item in CollectionView Overlaps in FlyoutPage.Flyout on
iOS by @praveenkumarkarunanithi in
#29265
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] CollectionView not rendering first item correctly in
FlyoutPage.Flyout](#29170)
  </details>

## Image
- [Android] Fix excessive memory usage for stream and resource-based
image loading by @Shalini-Ashokan in
#33590
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Unexpected high Bitmap.ByteCount when loading image via
ImageSource.FromResource() or ImageSource.FromStream() in .NET
MAUI](#33239)
  </details>

- [Android] Fix for Resize method returns an image that has already been
disposed by @SyedAbdulAzeemSF4852 in
#29964
  <details>
  <summary>🔧 Fixes</summary>

- [In GraphicsView, the Resize method returns an image that has already
been disposed](#29961)
- [IIMage.Resize bugged
behaviour](#31103)
  </details>

## Label
- Fixed Label Span font property inheritance when applied via Style by
@SubhikshaSf4851 in #34110
  <details>
  <summary>🔧 Fixes</summary>

- [`Span` does not inherit text styling from `Label` if that styling is
applied using `Style` ](#21326)
  </details>

- [Android] Implemented material3 support for Label by
@SyedAbdulAzeemSF4852 in #33599
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 Support for
Label](#33598)
  </details>

## Map
- [Android] Fix Circle Stroke color is incorrectly updated as Fill
color. by @NirmalKumarYuvaraj in
#33643
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Circle Stroke color is incorrectly updated as Fill
color.](#33642)
  </details>

## Mediapicker
- [iOS] Fix: invoke MediaPicker completion handler after
DismissViewController by @yuriikyry4enko in
#34250
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] Media Picker UIImagePickerController closing
issue](#21996)
  </details>

## Navigation
- Fix ContentPage memory leak on Android when using NavigationPage
modally (fixes #33918) by @brunck in
#34117
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Modal TabbedPage whose tabs are NavigationPage(ContentPage)
is retained after
PopModalAsync()](#33918)
  </details>

## Picker
- [Android] Implement material3 support for TimePicker by
@HarishwaranVijayakumar in #33646
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 support for
TimePicker](#33645)
  </details>

- [Android] Implemented Material3 support for Picker by
@SyedAbdulAzeemSF4852 in #33668
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 support for
Picker](#33665)
  </details>

## RadioButton
- [Android] Implemented material3 support for RadioButton by
@SyedAbdulAzeemSF4852 in #33468
  <details>
  <summary>🔧 Fixes</summary>

- [Implement Material3 Support for
RadioButton](#33467)
  </details>

## Setup
- Clarify MA003 error message by @jeremy-visionaid in
#34067
  <details>
  <summary>🔧 Fixes</summary>

- [MA003 false positive with
9.0.21](#26599)
  </details>

## Shell
- [Android] Fix TabBar FlowDirection not updating dynamically by
@SubhikshaSf4851 in #33091
  <details>
  <summary>🔧 Fixes</summary>

- [[Android, iOS] FlowDirection RTL is not updated dynamically on Shell
TabBar](#32993)
  </details>

- [Android] Fix page not disposed on Shell replace navigation by
@Vignesh-SF3580 in #33426
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] [Shell] replace navigation leaks current
page](#25134)
  </details>

- [Android] Fixed Shell flyout does not disable scrolling when
FlyoutVerticalScrollMode is set to Disabled by @NanthiniMahalingam in
#32734
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Shell.FlyoutVerticalScrollMode="Disabled" does not disable
scrolling](#32477)
  </details>

## Single Project
- Fix: Throw a clear error when an SVG lacks dimensions instead of a
NullReferenceException by @Shalini-Ashokan in
#33194
  <details>
  <summary>🔧 Fixes</summary>

- [MAUI Fails To Convert Valid SVG Files Into PNG Files (Object
reference not set to an instance of an
object)](#32460)
  </details>

## SwipeView
- [iOS] Fix SwipeView stays open on iOS after updating content by
@devanathan-vaithiyanathan in #31248
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS] - Swipeview with collectionview
issue](#19541)
  </details>

## TabbedPage
- [Windows] Fixed IsEnabled Property not works on Tabs by
@NirmalKumarYuvaraj in #26728
  <details>
  <summary>🔧 Fixes</summary>

- [ShellContent IsEnabledProperty does not
work](#5161)
- [[Windows] Shell Tab IsEnabled Not
Working](#32996)
  </details>

- [Android] Fix NavigationBar overlapping StatusBar when NavigationBar
visibility changes by @Vignesh-SF3580 in
#33359
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] NavigationBar overlaps with StatusBar when mixing
HasNavigationBar=true/false in TabbedPage on Android 15 (API
35)](#33340)
  </details>

## Templates
- Fix for unable to open task using keyboard navigation on windows
platform by @SuthiYuvaraj in #33647
  <details>
  <summary>🔧 Fixes</summary>

- [Unable to open task using keyboard: A11y_.NET maui_User can get all
the insights of
Dashboard_Keyboard](#30787)
  </details>

## TitleView
- Fix for NavigationPage.TitleView does not expand with host window in
iPadOS 26+ by @SuthiYuvaraj in #33088

## Toolbar
- [iOS] Fix toolbar items ignoring BarTextColor on iOS/MacCatalyst 26+
by @Shalini-Ashokan in #34036
  <details>
  <summary>🔧 Fixes</summary>

- [[iOS 26] ToolbarItem color with custom BarTextColor not
working](#33970)
  </details>

- [Android] Fix for ToolbarItem retaining the icon from the previous
page on Android when using NavigationPage. by @BagavathiPerumal in
#32311
  <details>
  <summary>🔧 Fixes</summary>

- [Toolbaritem keeps the icon of the previous page on Android, using
NavigationPage (not shell)](#31727)
  </details>

## WebView
- [Android] Fix WebView in a grid expands beyond it's cell by
@devanathan-vaithiyanathan in #32145
  <details>
  <summary>🔧 Fixes</summary>

- [Android - WebView in a grid expands beyond it's
cell](#32030)
  </details>

## Xaml
- ContentPresenter: Propagate binding context to children with explicit
TemplateBinding by @HarishwaranVijayakumar in
#30880
  <details>
  <summary>🔧 Fixes</summary>

- [Binding context in
ContentPresenter](#23797)
  </details>


<details>
<summary>🔧 Infrastructure (1)</summary>

- [Revert] ContentPresenter: Propagate binding context to children with
explicit TemplateBinding by @Ahamed-Ali in
#34332

</details>

<details>
<summary>🧪 Testing (6)</summary>

- [Testing] Feature Matrix UITest Cases for Shell Flyout Page by
@NafeelaNazhir in #32525
- [Testing] Feature Matrix UITest Cases for Brushes by
@LogishaSelvarajSF4525 in #31833
- [Testing] Feature Matrix UITest Cases for BindableLayout by
@LogishaSelvarajSF4525 in #33108
- [Android] Add UI tests for Material 3 CheckBox by
@HarishwaranVijayakumar in #34126
  <details>
  <summary>🔧 Fixes</summary>

- [[Android] Add UI tests for Material 3
CheckBox](#34125)
  </details>
- [Testing] Feature Matrix UITest Cases for Shell Tabbed Page by
@NafeelaNazhir in #33159
- [Testing] Fixed Test case failure in PR 34294 - [03/2/2026] Candidate
- 1 by @TamilarasanSF4853 in #34334

</details>

<details>
<summary>📦 Other (2)</summary>

- Bumps Syncfusion.Maui.Toolkit dependency to version 1.0.9 by
@PaulAndersonS in #34178
- Fix crash when closing Windows based app when using TitleBar by
@MFinkBK in #34032
  <details>
  <summary>🔧 Fixes</summary>

- [Unhandled exception "Value does not fall within the expected range"
when closing Windows app](#32194)
  </details>

</details>
**Full Changelog**:
main...inflight/candidate
@github-actions github-actions Bot locked and limited conversation to collaborators Mar 26, 2026
@PureWeen PureWeen modified the milestones: .NET 10 SR5, .NET 10 SR6 Apr 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration platform/android s/agent-approved AI agent recommends approval - PR fix is correct and optimal s/agent-fix-implemented PR author implemented the agent suggested fix s/agent-fix-win AI found a better alternative fix than the PR s/agent-gate-passed AI verified tests catch the bug (fail without fix, pass with fix) s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IIMage.Resize bugged behaviour In GraphicsView, the Resize method returns an image that has already been disposed

8 participants