Fix #4028: check whether the user info is null.

This commit is contained in:
Ben 2024-03-20 16:32:51 +08:00
parent 854f3b5257
commit 82f25cc2e5

View File

@ -545,7 +545,7 @@
url = PageState.Alias.Path; url = PageState.Alias.Path;
} }
if (PageState.Runtime == Shared.Runtime.Hybrid) if (PageState.Runtime == Shared.Runtime.Hybrid && PageState.User != null)
{ {
// hybrid apps utilize an interactive logout // hybrid apps utilize an interactive logout
await UserService.LogoutUserAsync(PageState.User); await UserService.LogoutUserAsync(PageState.User);
@ -564,8 +564,8 @@
private void LoadSettingsAsync() private void LoadSettingsAsync()
{ {
_category = SettingService.GetSetting(PageState.User.Settings, settingCategory, "Common"); _category = SettingService.GetSetting(PageState.User?.Settings, settingCategory, "Common");
var pane = SettingService.GetSetting(PageState.User.Settings, settingPane, ""); var pane = SettingService.GetSetting(PageState.User?.Settings, settingPane, "");
if (PageState.Page.Panes.Contains(pane)) if (PageState.Page.Panes.Contains(pane))
{ {
_pane = pane; _pane = pane;
@ -584,12 +584,15 @@
} }
private async Task UpdateSettingsAsync() private async Task UpdateSettingsAsync()
{
if (PageState.User != null)
{ {
Dictionary<string, string> settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId); Dictionary<string, string> settings = await SettingService.GetUserSettingsAsync(PageState.User.UserId);
settings = SettingService.SetSetting(settings, settingCategory, _category); settings = SettingService.SetSetting(settings, settingCategory, _category);
settings = SettingService.SetSetting(settings, settingPane, _pane); settings = SettingService.SetSetting(settings, settingPane, _pane);
await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId); await SettingService.UpdateUserSettingsAsync(settings, PageState.User.UserId);
} }
}
private void ClearMessage() private void ClearMessage()
{ {