uno
uno copied to clipboard
fix(droid): workaround for ItemsControl's ObjectDisposedException
GitHub Issue (If applicable): (linked from private issue)
PR Type
What kind of change does this PR introduce?
- Bugfix
What is the current behavior?
Leaked ItemsControl.ItemsSource subscription can cause ObjectDisposedException to be thrown when the said source is updated.
What is the new behavior?
The exception is prevented.
PR Checklist
Please check if your PR fulfills the following requirements:
- [ ] Docs have been added/updated which fit documentation template (for bug fixes / features)
- [x] Unit Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
- [ ] Validated PR
Screenshots Compare Test Runresults. - [x] Contains NO breaking changes
- [ ] Associated with an issue (GitHub or internal) and uses the automatic close keywords.
- [x] Commits must be following the Conventional Commits specification.
Other information
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
@mergifyio backport release/stable/5.2
backport release/stable/5.2
✅ Backports have been created
- #16739 fix(droid): workaround for ItemsControl's ObjectDisposedException (backport #16631) has been created for branch
release/stable/5.2
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
/azp run
Azure Pipelines successfully started running 2 pipeline(s).
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
fixme:
- [ ] When_XBind_TargetDisposed_Test: Assert.Fail failed. Timed out on waiting the view to be disposed
🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16631/index.html
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16631/index.html
🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16631/index.html
🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16631/index.html
The build 125134 found UI Test snapshots differences: android-28-net7: 19, android-28-net7-Snap: 51, ios: 6, ios-Snap: 24, skia-gtk-screenshots: 20, skia-linux-screenshots: 32, skia-windows-screenshots: 20, wasm: 315, wasm-automated-net7.0-UWP-Default-automated: 21, wasm-automated-net7.0-UWP-RuntimeTests-0: 0, wasm-automated-net7.0-UWP-RuntimeTests-1: 0, wasm-automated-net7.0-UWP-RuntimeTests-2: 0, wasm-automated-net7.0-WinUI-Benchmarks-automated: 0, wasm-automated-net7.0-WinUI-RuntimeTests-0: 0, wasm-automated-net7.0-WinUI-RuntimeTests-1: 0, wasm-automated-net7.0-WinUI-RuntimeTests-2: 0
Details
-
android-28-net7: 19 changed over 829🚨🚨 Comparison Details (first 20) 🚨🚨
ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItemsNavigateBackAndForthBetweenMenuItemsAndSettings_Fluent_SamplesApp_Samples_Microsoft_UI_Xaml_Controls_NavigationViewTests_FluentStyle_FluentStyle_NavigationViewSampleUpDownTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPageDecimalFormatterTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPageWhen_InListView_after_scrollWebView_NavigateToAnchor_InitialWhen_InScrollViewer_after_scrollDetereminate_ProgressRing_Validation50_[#FF0000_#008000_#008000_#FF0000]_Progress-Ring-Value-50ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220When_Parent_PointerMoved_After_drag_on_non-scrolling_ScrollViewerWhen_Parent_PointerMoved_After_drag_on_ScrollViewer_-_touchDetereminate_ProgressRing_Validation75_[#FF0000_#008000_#008000_#008000]_Progress-Ring-Value-75ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220UpDownEnabledTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPageWebView_NavigateToLongString_AfterSuccessDatePicker_PickerFlyout_PlacementsbottomLeft_True_False_True_UITests_Windows_UI_Xaml_Controls_DatePicker_DatePicker_PlacementDetereminate_ProgressRing_Validation25_[#FF0000_#008000_#FF0000_#FF0000]_Progress-Ring-Value-25SelectionTest_UITests_Microsoft_UI_Xaml_Controls_RadioButtonsTests_RadioButtonsPageSequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPage
-
android-28-net7-Snap: 51 changed over 1059🚨🚨 Comparison Details (first 20) 🚨🚨
ListView_ListView_With_ListViews_Count_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_MeasureMUX_NumberBox_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPageMUX_UITests_Microsoft_UI_Xaml_Controls_SplitButtonTests_SplitButtonTestsPage_UITests_Microsoft_UI_Xaml_Controls_SplitButtonTests_SplitButtonTestsPageMUX_UITests_Shared_Microsoft_UI_Xaml_Controls_TreeViewTests_TreeViewPage_UITests_Shared_Microsoft_UI_Xaml_Controls_TreeViewTests_TreeViewPageBrushes_BorderImageBrush_Uno_UI_Samples_UITests_ImageBrushTestControl_BorderImageBrushButtons_RadioButton_IsEnabled_Automated_Uno_UI_Samples_Content_UITests_ButtonTestsControl_RadioButton_IsEnabled_AutomatedButtons_RadioButton_Multiple_Unnamed_Groups_Uno_UI_Samples_Content_UITests_ButtonTestsControl_RadioButton_Multiple_Unnamed_GroupsColorPicker_ColorPickerSample_UITests_Microsoft_UI_Xaml_Controls_ColorPickerTests_ColorPickerSampleGesture_Recognizer_Pointer_Events_test_bench_UITests_Shared_Windows_UI_Input_GestureRecognizer_PointersEventsMediaPlayerElement_Using_3gp_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_3gp_ExtensionMediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_ExtensionMediaPlayerElement_Using_ogg_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Ogg_ExtensionImage_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_Icons_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_IconsListView_ListViewLarge_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewLargeMediaPlayerElement_Mini_player_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_MinimalTextBox_TextBox_Foreground_Uno_UI_Samples_Content_UITests_TextBoxControl_TextBox_ForegroundTextBox_TextBox_Formatting_Flicker_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_Formatting_FlickerTextBox_TextBox_Header_Uno_UI_Samples_Content_UITests_TextBoxControl_TextBox_HeaderRatingControl_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPage_UITests_Microsoft_UI_Xaml_Controls_RatingControlTests_RatingControlPageSwipeControl_UITests_Windows_UI_Xaml_Controls_SwipeControlTests_SwipeControl_ScrollViewer_UITests_Windows_UI_Xaml_Controls_SwipeControlTests_SwipeControl_ScrollViewer
-
ios: 6 changed over 269🚨🚨 Comparison Details (first 20) 🚨🚨
ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220SequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPageCheck_ListView_Swallows_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_MeasureProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220TextBox_UpdatedBinding_On_OneWay_Mode_UITests_Windows_UI_Xaml_Controls_TextBox_TextBox_BindingsWhen_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
-
ios-Snap: 24 changed over 1050🚨🚨 Comparison Details (first 20) 🚨🚨
Image_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_Formats_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_FormatsGrid_CenteredGridinGridwiththreefixedsizechildren_Uno_UI_Samples_Content_UITests_GridTestsControl_CenteredGridinGridwiththreefixedsizechildrenBrushes_ImageBrushStretch_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushStretchImage_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Equal_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_EqualImage_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Smaller_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_SmallerBrushes_GenericApp_Views_Content_UITests_ImageBrushTestControl_BorderImageBrushRelativeTransform_GenericApp_Views_Content_UITests_ImageBrushTestControl_BorderImageBrushRelativeTransformDefault_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigationListView_ListView_With_ListViews_Count_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_MeasureNavigationView_MUXControlsTestApp_NavigationViewMinimalPage_MUXControlsTestApp_NavigationViewMinimalPageWebView_WebView2_ChromeClient_SamplesApp_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_ChromeClientWebView_WebView2_Javascript_AlertConfirmPrompt_SamplesApp_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2ControlJavaScriptAlertConfirmPromptImage_ImageSourceStream_Uno_UI_Samples_UITests_ImageTestsControl_ImageSourceStreamBrushes_GenericApp_Views_Content_UITests_ImageBrushTestControl_ImageBrush_UniformToFill_GenericApp_Views_Content_UITests_ImageBrushTestControl_ImageBrush_UniformToFillImage_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Taller_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_TallerImage_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Wider_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_WiderWebView_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_NavigationProperties_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_NavigationPropertiesWebView_UITests_Microsoft_UI_Xaml_Controls_WebViewTests_WebView_InvokeScriptAsync_UITests_Microsoft_UI_Xaml_Controls_WebViewTests_WebView_InvokeScriptAsyncBrushes_Uno_UI_Samples_Samples_Shared_Content_UITests_ImageBrushInList_Uno_UI_Samples_Samples_Shared_Content_UITests_ImageBrushInListWebView_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_Basic_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_BasicTransform_Basics_UITests_Shared_Windows_UI_Xaml_Media_Transform_Basics
-
skia-gtk-screenshots: 20 changed over 2190🚨🚨 Comparison Details (first 20) 🚨🚨
Using .ogg.png-darkUsing .ogg.pngWindow_SetBackground.png-darkWindow_SetBackground.pngImageSourceUrlMsAppDataScheme.png-darkImageSourceUrlMsAppDataScheme.pngUIElement_ContextFlyout.png-darkUIElement_ContextFlyout.pngImageInStackPanel.png-darkImageInStackPanel.pngBorderImageBrushRelativeTransform.png-darkBorderImageBrushRelativeTransform.pngMini player.png-darkMini player.pngRectangle.png-darkRectangle.pngStretchNoneBoundingBoxInDoubleStackPanel.png-darkStretchNoneBoundingBoxInDoubleStackPanel.pngNative.png-darkNative.png
-
skia-linux-screenshots: 32 changed over 2190🚨🚨 Comparison Details (first 20) 🚨🚨
AutomationProperties_Name.pngDragDrop_TestPage.png-darkDragDrop_TestPage.pngAutomationProperties_Name.png-darkImageBrushAlignmentXY2.png-darkImageBrushAlignmentXY2.pngBorderImageBrushRelativeTransform.png-darkCompositionEffectBrush.png-darkCompositionEffectBrush.pngImageBrush_UniformToFill.png-darkImageBrush_UniformToFill.pngBorderImageBrushRelativeTransform.pngImageWithLateSourceUniformToFill.png-darkImageWithLateSourceUniformToFill.pngListViewIncrementalLoading.png-darkListViewIncrementalLoading.pngImageBrushStretch.png-darkImageBrushStretch.pngPanelImageBrush.png-darkPanelImageBrush.png
-
skia-windows-screenshots: 20 changed over 2190🚨🚨 Comparison Details (first 20) 🚨🚨
BorderImageBrush.png-darkBorderImageBrush.pngEllipse.png-darkEllipse.pngImageBrushInList.png-darkImageBrushInList.pngImage_UseTargetSize.png-darkImage_UseTargetSize.pngImageIconPage.png-darkImageIconPage.pngImagesInlineInFlipView.png-darkImagesInlineInFlipView.pngMini player.png-darkMini player.pngStretchNoneBoundingBoxInDoubleStackPanel.png-darkStretchNoneBoundingBoxInDoubleStackPanel.pngUniform100x100.png-darkUniform100x100.pngUniformAlignmentCenterInDoubleStackPanelWebUri.png-darkUniformAlignmentCenterInDoubleStackPanelWebUri.png
-
wasm: 315 changed over 1040🚨🚨 Comparison Details (first 20) 🚨🚨
Benchmarks.Shared.Controls.BenchmarkDotNetTestsPageMUXControlsTestApp.NavigationViewBlankPage1MUXControlsTestApp.NavigationViewItemTemplatePageMUXControlsTestApp.NavigationViewRS3PageSamplesApp.Windows_UI_Xaml_Shapes.PathTestsControl.PathVerticalOffsetUITests.Microsoft_UI_Xaml_Controls.NavigationViewTests.NavigationViewBasicPageUITests.Microsoft_UI_Xaml_Controls.NumberBoxTests.NumberBox_DescriptionUITests.Microsoft_UI_Xaml_Controls.NumberBoxTests.NumberBox_ExpressionTestUITests.Shared.Microsoft_UI_Xaml_Controls.ColorPickerTests.WinUIColorPickerPageUITests.Shared.Microsoft_UI_Xaml_Controls.ExpanderTests.WinUIExpanderPageUITests.Shared.Windows_UI_Xaml_Controls.NavigationViewTests.NavigationView_TopNavigationUITests.Shared.Windows_UI_Xaml_Shapes.PathTestsControl.SVG_PathUITests.Windows_UI_ViewManagement.ApplicationViewSizingUITests.Windows_UI_ViewManagement.UISettingsTestsUITests.Windows_UI_Xaml_Controls.ComboBox.ComboBox_Dropdown_Background_4418UITests.Windows_UI_Xaml_Controls.ItemsControl.ItemsControl_AppendItemUITests.Windows_UI_Xaml_Controls.TextBox.TextBox_WithPadding_FocusUITests.Windows_UI_Xaml_Controls.TextBox.TextBox_WrappingUITests.Windows_UI_Xaml_Controls.ThumbTests.Thumb_DragEventsUITests.Windows_UI_Xaml_Controls.TimePicker.TimePicker_TimePickerFlyoutStyle
-
wasm-automated-net7.0-UWP-Default-automated: 21 changed over 1958🚨🚨 Comparison Details (first 20) 🚨🚨
ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItemsBorder_NonUniformThicknessandRadius_Uno_UI_Samples_UITests_BorderTestsControl_NonUniformThicknessandRadiusCheck_ListView_Swallows_Measure_after_scrollMinMaxTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPageMediaPlayerElement_Using_3gp_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_3gp_ExtensionMediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_ExtensionDefault_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelected_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelectedSequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPageWhen_ExtendedSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_PointersListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItemsTestProgressRing_InitialState_UITests_Microsoft_UI_Xaml_Controls_ProgressRing_WinUIProgressRing_FeaturesWhen_MultipleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_PointersWhen_NoSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_PointersTextBlock_TextBlock_LineHeight_TextTrimming_Uno_UI_Samples_Content_UITests_TextBlockControl_TextBlock_LineHeight_TextTrimmingWhen_SingleSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_PointersWhen_SingleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_PointersPath_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_Dynamic_Geometries_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_Dynamic_GeometriesPath_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_EllipseGeometry_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_EllipseGeometryPath_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_FillRule_UITests_Windows_UI_Xaml_Shapes_PathTestsControl_Path_FillRuleWhen_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers
-
wasm-automated-net7.0-UWP-RuntimeTests-0: 0 changed over 1 -
wasm-automated-net7.0-UWP-RuntimeTests-1: 0 changed over 1 -
wasm-automated-net7.0-UWP-RuntimeTests-2: 0 changed over 1 -
wasm-automated-net7.0-WinUI-Benchmarks-automated: 0 changed over 1 -
wasm-automated-net7.0-WinUI-RuntimeTests-0: 0 changed over 1 -
wasm-automated-net7.0-WinUI-RuntimeTests-1: 0 changed over 1 -
wasm-automated-net7.0-WinUI-RuntimeTests-2: 0 changed over 1