From 0c978f568aea4161c26c67a49f9aac73f58dd1d2 Mon Sep 17 00:00:00 2001 From: Mike Griese Date: Thu, 10 Feb 2022 16:19:03 -0600 Subject: [PATCH] DONT initialize the MediaPlayer I believe this fixes #12383, but I can't seem to find a way to set up a N SKU VM to confirm this. * [ ] TODO: find such a VM to confirm this doesn't crash on launch. --- src/cascadia/TerminalApp/Pane.cpp | 7 ++++++- src/cascadia/TerminalApp/Pane.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cascadia/TerminalApp/Pane.cpp b/src/cascadia/TerminalApp/Pane.cpp index 4bf0a57015b..2bef061af7a 100644 --- a/src/cascadia/TerminalApp/Pane.cpp +++ b/src/cascadia/TerminalApp/Pane.cpp @@ -1044,7 +1044,12 @@ winrt::fire_and_forget Pane::_playBellSound(winrt::Windows::Foundation::Uri uri) if (!_bellPlayer) { - _bellPlayer = winrt::Windows::Media::Playback::MediaPlayer(); + // The MediaPlayer might not exist on Windows N SKU. + try + { + _bellPlayer = winrt::Windows::Media::Playback::MediaPlayer(); + } + CATCH_LOG(); } if (_bellPlayer) { diff --git a/src/cascadia/TerminalApp/Pane.h b/src/cascadia/TerminalApp/Pane.h index 1a1da354ea6..67f03d1b0bc 100644 --- a/src/cascadia/TerminalApp/Pane.h +++ b/src/cascadia/TerminalApp/Pane.h @@ -241,7 +241,7 @@ class Pane : public std::enable_shared_from_this bool _zoomed{ false }; - winrt::Windows::Media::Playback::MediaPlayer _bellPlayer; + winrt::Windows::Media::Playback::MediaPlayer _bellPlayer{ nullptr }; winrt::Windows::Media::Playback::MediaPlayer::MediaEnded_revoker _mediaEndedRevoker; bool _IsLeaf() const noexcept;