Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
872bb94
[iOS] CarouselView with CarouselViewHandler2 make app crash when Loop…
kubaflo Jun 9, 2025
22ed68e
Bump to 1.7.250606001 of WindowsAppSDK (#29915)
PureWeen Jun 11, 2025
736b1e6
Fixes Setting BackgroundColor to null does not actually changes Backg…
Jon2G Jun 13, 2025
706161e
Fixed the picker title's color (#23075)
kubaflo Jun 13, 2025
e268456
[android] Fallback to default icons in SearchHandler (#25067)
aheubusch Jun 13, 2025
3285c24
[Testing] Feature Matrix UITest Cases for Button (#29803)
TamilarasanSF4853 Jun 13, 2025
db77d5f
[Testing] Feature matrix UITest Cases for BoxView Control (#29808)
HarishKumarSF4517 Jun 13, 2025
0406752
Enabled-MultiTouch-iOS (#29895)
prakashKannanSf3972 Jun 13, 2025
733ac3f
[houekeeping] update namespaces in hostapp and shared tests projects …
bhavanesh2001 Jun 13, 2025
f89740e
Optimize converters for GridLength, ColumnDefinition, and RowDefiniti…
symbiogenesis Jun 13, 2025
5897ad7
Add defensive IsAlive check to Android ViewExtensions.OnUnloaded (#29…
jfversluis Jun 13, 2025
024371d
Update SetterSpecificity.cs Remove Extra Line From Bad Merge (#29987)
PureWeen Jun 13, 2025
885eeac
ScrollView's Background on iOS (#25541)
kubaflo Jun 16, 2025
f053c13
[Windows] Fixed runtime update issue for SearchBar PlaceholderColor a…
Tamilarasan-Paranthaman Jun 16, 2025
590bd5f
[Testing] Enable HandlerDoesNotLeak for Button and ProgressBar (#29896)
bhavanesh2001 Jun 16, 2025
88b7642
[create-pull-request] automated change (#30019)
github-actions[bot] Jun 17, 2025
9899329
Revert "Fixes Setting BackgroundColor to null does not actually chang…
mattleibow Jun 17, 2025
87f5001
Weak subscription to CanExecuteChange events (#29837)
PureWeen Jun 17, 2025
0c3a393
[create-pull-request] automated change (#30043)
github-actions[bot] Jun 18, 2025
a9f228f
[iOS, Mac] Fix for downsized image retaining original dimensions in G…
SyedAbdulAzeemSF4852 Jun 18, 2025
637e2e4
[Android] Prevent Picker from Gaining Focus on Touch (#29068)
bhavanesh2001 Jun 19, 2025
2d7a1e4
Revert - Fixed the Label not sized correctly on Android (#30023)
Ahamed-Ali Jun 19, 2025
731302d
[create-pull-request] automated change (#30078)
github-actions[bot] Jun 21, 2025
7d0888a
Fix CV1 GridItemsLayout centering single item AND Fix Empty view not …
albyrock87 Jun 21, 2025
eb4e2e2
Update Controls.TestCases.HostApp.csproj (#30124)
HarishKumarSF4517 Jun 23, 2025
e0723d7
[Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidat…
HarishKumarSF4517 Jun 26, 2025
0175e3c
[Testing] Add Validation Test For Issue28051 On Android (#30026)
prakashKannanSf3972 Jun 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
[iOS] CarouselView with CarouselViewHandler2 make app crash when Loop…
…="False" and user scroll to the last position - fix (#26868)

* Update CarouselViewController2.cs

* Added a UI test for Matt
  • Loading branch information
kubaflo authored and PureWeen committed Jun 27, 2025
commit 872bb9472a70a4c26d14c097c2209c37ec77d0fc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public override UICollectionViewCell GetCell(UICollectionView collectionView, NS
return cell;
}

public override nint GetItemsCount(UICollectionView collectionView, nint section) => LoopItemsSource.LoopCount;
public override nint GetItemsCount(UICollectionView collectionView, nint section) => LoopItemsSource.Loop ? LoopItemsSource.LoopCount : LoopItemsSource.ItemCount;

void InitializeCarouselViewLoopManager()
{
Expand Down
29 changes: 29 additions & 0 deletions src/Controls/tests/TestCases.HostApp/Issues/Issue26863.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Maui.Controls.Sample.Issues.Issue26863"
x:Name="This">

<VerticalStackLayout BindingContext="{Binding Source={Reference This}}">
<Button AutomationId="button"
x:Name="button"
IsVisible="false"
Text="Click me"
Command="{Binding ScrollToCommand}"/>
<CarouselView
HeightRequest="200"
ItemsSource="{Binding List}"
HorizontalOptions="Fill"
x:Name="CV"
Loop="False">
<CarouselView.ItemTemplate>
<DataTemplate>
<Label HorizontalOptions="Fill"
AutomationId="{Binding .}"
Text="{Binding .}"/>
</DataTemplate>
</CarouselView.ItemTemplate>
</CarouselView>
</VerticalStackLayout>

</ContentPage>
25 changes: 25 additions & 0 deletions src/Controls/tests/TestCases.HostApp/Issues/Issue26863.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using System.Collections.ObjectModel;

namespace Maui.Controls.Sample.Issues
{
[Issue(IssueTracker.Github, 26863, "CarouselView with CarouselViewHandler2 make app crash", PlatformAffected.iOS)]
public partial class Issue26863 : ContentPage
{
public Issue26863()
{
InitializeComponent();
}

public ObservableCollection<string> List { get; } = new();
public Command ScrollToCommand => new(() => CV.ScrollTo(2, 0, animate: true));

protected override void OnAppearing()
{
List.Clear();
List.Add("item1");
List.Add("item2");
List.Add("item3");
button.IsVisible = true;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using NUnit.Framework;
using UITest.Appium;
using UITest.Core;

namespace Microsoft.Maui.TestCases.Tests.Issues
{
public class Issue26863 : _IssuesUITest
{
public Issue26863(TestDevice testDevice) : base(testDevice)
{
}

public override string Issue => "CarouselView with CarouselViewHandler2 make app crash";

[Test]
[Category(UITestCategories.CarouselView)]
public void AppShouldNotCrashOnScrollingCarouselViewWithoutLoop()
{
App.WaitForElement("button");
App.Click("button");

//The test passes if no crash is observed
}
}
}