From 7d771606384af627d444d7772b0f8012a1901dab Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Thu, 11 Jul 2024 17:29:20 -0700 Subject: [PATCH] Revert lazy loading Quick Fix UI (#17552) Turns out, when the branding disables the feature, we try to get `QuickFixMenu` when it's not loaded, causing a crash in TerminalPage. Since we end up loading the quick fix menu when we scroll or apply UI settings, we're actually loading the quick fix menu pretty early on. So might as well remove the `x:Load="False"`. If we feel strongly about keeping the lazy loading functionality, we can do that later (and probably apply the same heuristic to the other XAML we're registering in TerminalApp). This also adds a feature flag check when registering the menu in TerminalApp. Closes #17548 --- src/cascadia/TerminalApp/TerminalPage.cpp | 15 +++++++++------ src/cascadia/TerminalControl/TermControl.xaml | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 4f8c231411..b03b7e3721 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -1760,12 +1760,15 @@ namespace winrt::TerminalApp::implementation page->_PopulateContextMenu(weakTerm.get(), sender.try_as(), true); } }); - term.QuickFixMenu().Opening([weak = get_weak(), weakTerm](auto&& sender, auto&& /*args*/) { - if (const auto& page{ weak.get() }) - { - page->_PopulateQuickFixMenu(weakTerm.get(), sender.try_as()); - } - }); + if constexpr (Feature_QuickFix::IsEnabled()) + { + term.QuickFixMenu().Opening([weak = get_weak(), weakTerm](auto&& sender, auto&& /*args*/) { + if (const auto& page{ weak.get() }) + { + page->_PopulateQuickFixMenu(weakTerm.get(), sender.try_as()); + } + }); + } } // Method Description: diff --git a/src/cascadia/TerminalControl/TermControl.xaml b/src/cascadia/TerminalControl/TermControl.xaml index bcbabf0daf..b0b24c47ce 100644 --- a/src/cascadia/TerminalControl/TermControl.xaml +++ b/src/cascadia/TerminalControl/TermControl.xaml @@ -1286,7 +1286,6 @@ Padding="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" - x:Load="False" AllowFocusOnInteraction="False" CornerRadius="0,5,5,0" PointerEntered="_QuickFixButton_PointerEntered"