From a8fb9e0804a87cb78903bbb66784a58606c26deb Mon Sep 17 00:00:00 2001 From: Andrey Nekrasov Date: Thu, 10 Mar 2022 20:31:16 +0300 Subject: [PATCH] [Settings] Do not try to apply profile settings if there was a timeout (#16933) --- .../ViewModels/KeyboardManagerViewModel.cs | 18 +++++++++++++++--- .../Views/KeyboardManagerPage.xaml.cs | 11 +++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/settings-ui/Settings.UI.Library/ViewModels/KeyboardManagerViewModel.cs b/src/settings-ui/Settings.UI.Library/ViewModels/KeyboardManagerViewModel.cs index 0a226c46fc..1964cfb2ec 100644 --- a/src/settings-ui/Settings.UI.Library/ViewModels/KeyboardManagerViewModel.cs +++ b/src/settings-ui/Settings.UI.Library/ViewModels/KeyboardManagerViewModel.cs @@ -273,16 +273,23 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels } }); - t.Wait(1000, ts.Token); + var completedInTime = t.Wait(3000, ts.Token); ts.Cancel(); ts.Dispose(); - if (!readSuccessfully) + if (readSuccessfully) + { + FilterRemapKeysList(_profile?.RemapKeys?.InProcessRemapKeys); + } + else { success = false; } - FilterRemapKeysList(_profile?.RemapKeys?.InProcessRemapKeys); + if (!completedInTime) + { + Logger.LogError($"Timeout encountered when loading {PowerToyName} profile"); + } } catch (Exception e) { @@ -291,6 +298,11 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels success = false; } + if (!success) + { + Logger.LogError($"Couldn't load {PowerToyName} profile"); + } + return success; } } diff --git a/src/settings-ui/Settings.UI/Views/KeyboardManagerPage.xaml.cs b/src/settings-ui/Settings.UI/Views/KeyboardManagerPage.xaml.cs index 15a01e9d4f..73843cb2aa 100644 --- a/src/settings-ui/Settings.UI/Views/KeyboardManagerPage.xaml.cs +++ b/src/settings-ui/Settings.UI/Views/KeyboardManagerPage.xaml.cs @@ -80,10 +80,13 @@ namespace Microsoft.PowerToys.Settings.UI.Views private int FilterRemapKeysList(List remapKeysList) { - CombineRemappings(remapKeysList, (uint)VirtualKey.LeftControl, (uint)VirtualKey.RightControl, (uint)VirtualKey.Control); - CombineRemappings(remapKeysList, (uint)VirtualKey.LeftMenu, (uint)VirtualKey.RightMenu, (uint)VirtualKey.Menu); - CombineRemappings(remapKeysList, (uint)VirtualKey.LeftShift, (uint)VirtualKey.RightShift, (uint)VirtualKey.Shift); - CombineRemappings(remapKeysList, (uint)VirtualKey.LeftWindows, (uint)VirtualKey.RightWindows, Helper.VirtualKeyWindows); + if (remapKeysList != null) + { + CombineRemappings(remapKeysList, (uint)VirtualKey.LeftControl, (uint)VirtualKey.RightControl, (uint)VirtualKey.Control); + CombineRemappings(remapKeysList, (uint)VirtualKey.LeftMenu, (uint)VirtualKey.RightMenu, (uint)VirtualKey.Menu); + CombineRemappings(remapKeysList, (uint)VirtualKey.LeftShift, (uint)VirtualKey.RightShift, (uint)VirtualKey.Shift); + CombineRemappings(remapKeysList, (uint)VirtualKey.LeftWindows, (uint)VirtualKey.RightWindows, Helper.VirtualKeyWindows); + } return 0; }