From 346ff443f7f9ddd68f4452b361178079fe333bbc Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Sun, 21 May 2023 13:13:43 +0100 Subject: [PATCH] Fix hwcursor re-enabling when reducing window size --- Source/DiabloUI/diabloui.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/DiabloUI/diabloui.cpp b/Source/DiabloUI/diabloui.cpp index 9cd0b2547..b907c9fe4 100644 --- a/Source/DiabloUI/diabloui.cpp +++ b/Source/DiabloUI/diabloui.cpp @@ -491,7 +491,12 @@ void UiHandleEvents(SDL_Event *event) } else if (IsAnyOf(event->window.event, SDL_WINDOWEVENT_HIDDEN, SDL_WINDOWEVENT_MINIMIZED)) { gbActive = false; } else if (event->window.event == SDL_WINDOWEVENT_SIZE_CHANGED) { - ReinitializeHardwareCursor(); + // We reinitialize immediately (by calling `DoReinitializeHardwareCursor` instead of `ReinitializeHardwareCursor`) + // because the cursor's Enabled state may have changed, resulting in changes to visibility. + // + // For example, if the previous size was too large for a hardware cursor then it was invisible + // but may now become visible. + DoReinitializeHardwareCursor(); } else if (event->window.event == SDL_WINDOWEVENT_FOCUS_LOST) { music_mute(); } else if (event->window.event == SDL_WINDOWEVENT_FOCUS_GAINED) {