@@ -334,7 +334,6 @@ struct WidgetsState
334334{
335335 std::recursive_mutex shared_state_mutex;
336336
337- bool has_initialized = false ; // used to prevent notification queuing without GPU device
338337 CloseButtonState close_button_state = CloseButtonState::None;
339338 FocusResetType focus_reset_queued = FocusResetType::None;
340339 TransitionState transition_state = TransitionState::Inactive;
@@ -427,7 +426,6 @@ bool FullscreenUI::InitializeWidgets(Error* error)
427426
428427 UpdateWidgetsSettings ();
429428
430- s_state.has_initialized = true ;
431429 return true ;
432430}
433431
@@ -456,8 +454,6 @@ void FullscreenUI::ShutdownWidgets()
456454 s_state.file_selector_dialog .ClearState ();
457455 }
458456
459- s_state.has_initialized = false ;
460-
461457 UIStyle.Font = nullptr ;
462458
463459 UpdateLoadingScreenRunIdle ();
@@ -5649,8 +5645,10 @@ std::pair<ImVec2, float> FullscreenUI::NotificationLayout::GetNextPosition(float
56495645
56505646void FullscreenUI::ShowToast (OSDMessageType type, std::string title, std::string message)
56515647{
5652- const std::unique_lock lock (s_state.shared_state_mutex );
5653- if (!s_state.has_initialized )
5648+ DebugAssert (VideoThread::IsOnThread ());
5649+
5650+ // Don't queue toasts if we're not initialized, since it'll never clear.
5651+ if (!s_state.transition_blend_pipeline )
56545652 return ;
56555653
56565654 const bool prev_had_notifications = AreAnyNotificationsActive ();
0 commit comments