Skip to content
This repository was archived by the owner on May 10, 2026. It is now read-only.

Commit be17858

Browse files
committed
Fix: wrong page event call
1 parent a23c6ba commit be17858

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

src/NavStack/Assets/NavStack/Runtime/Internal/NavigationSheetCore.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,13 @@ public async UniTask ShowAsync(INavigation navigation, int index, NavigationCont
8585
var page = pages[index];
8686
if (activePage == page) return;
8787

88-
var task1 = activePage == null ? UniTask.CompletedTask : activePage.OnNavigatedFrom(copiedContext, cancellationToken);
89-
var task2 = page.OnNavigatedTo(copiedContext, cancellationToken);
88+
var prevPage = activePage;
89+
activePage = page;
9090

91-
await UniTask.WhenAll(task1, task2);
91+
var task1 = prevPage == null ? UniTask.CompletedTask : prevPage.OnNavigatedFrom(copiedContext, cancellationToken);
92+
var task2 = activePage.OnNavigatedTo(copiedContext, cancellationToken);
9293

93-
activePage = page;
94+
await UniTask.WhenAll(task1, task2);
9495
}
9596
finally
9697
{

src/NavStack/Assets/NavStack/Runtime/Internal/NavigationStackCore.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,11 @@ public async UniTask PushAsync(INavigation navigation, Func<UniTask<IPage>> page
103103
{
104104
await navigationStackEvent.OnPush(copiedContext, cancellationToken);
105105
}
106+
107+
var prevPage = activePage;
106108
activePage = page;
107109

108-
var task1 = activePage == null ? UniTask.CompletedTask : activePage.OnNavigatedFrom(copiedContext, cancellationToken);
110+
var task1 = prevPage == null ? UniTask.CompletedTask : prevPage.OnNavigatedFrom(copiedContext, cancellationToken);
109111
var task2 = activePage.OnNavigatedTo(copiedContext, cancellationToken);
110112

111113
await UniTask.WhenAll(task1, task2);

0 commit comments

Comments
 (0)