diff --git a/src/cascadia/TerminalApp/CommandPalette.cpp b/src/cascadia/TerminalApp/CommandPalette.cpp index b54ee9a5c6..4817cd5242 100644 --- a/src/cascadia/TerminalApp/CommandPalette.cpp +++ b/src/cascadia/TerminalApp/CommandPalette.cpp @@ -1204,8 +1204,6 @@ namespace winrt::TerminalApp::implementation { Visibility(Visibility::Collapsed); - PreviewAction.raise(*this, nullptr); - // Reset visibility in case anchor mode tab switcher just finished. _searchBox().Visibility(Visibility::Visible); @@ -1216,6 +1214,7 @@ namespace winrt::TerminalApp::implementation ParentCommandName(L""); _currentNestedCommands.Clear(); + PreviewAction.raise(*this, nullptr); } void CommandPalette::EnableTabSwitcherMode(const uint32_t startIdx, TabSwitcherMode tabSwitcherMode) diff --git a/src/cascadia/TerminalApp/SnippetsPaneContent.cpp b/src/cascadia/TerminalApp/SnippetsPaneContent.cpp index 9e8b27db5e..415e5d8201 100644 --- a/src/cascadia/TerminalApp/SnippetsPaneContent.cpp +++ b/src/cascadia/TerminalApp/SnippetsPaneContent.cpp @@ -21,7 +21,8 @@ namespace winrt namespace winrt::TerminalApp::implementation { - SnippetsPaneContent::SnippetsPaneContent() + SnippetsPaneContent::SnippetsPaneContent() : + _allTasks{ winrt::single_threaded_observable_vector() } { InitializeComponent(); @@ -54,7 +55,7 @@ namespace winrt::TerminalApp::implementation const auto tasks = co_await _settings.GlobalSettings().ActionMap().FilterToSnippets(winrt::hstring{}, winrt::hstring{}); // IVector co_await wil::resume_foreground(Dispatcher()); - _allTasks = winrt::single_threaded_observable_vector(); + _allTasks.Clear(); for (const auto& t : tasks) { const auto& filtered{ winrt::make(t) }; diff --git a/src/cascadia/TerminalCore/Terminal.cpp b/src/cascadia/TerminalCore/Terminal.cpp index 165af0e3b0..b745d66f70 100644 --- a/src/cascadia/TerminalCore/Terminal.cpp +++ b/src/cascadia/TerminalCore/Terminal.cpp @@ -1615,6 +1615,12 @@ void Terminal::PreviewText(std::wstring_view input) static constexpr TextAttribute previewAttrs{ CharacterAttributes::Italics, TextColor{}, TextColor{}, 0u, TextColor{} }; auto lock = LockForWriting(); + + if (_mainBuffer == nullptr) + { + return; + } + if (input.empty()) { snippetPreview.text = L"";