From 72f0c460f965bf8ef00f392a20fa3cf9568214c3 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Thu, 3 Apr 2025 00:47:27 +0300 Subject: [PATCH] Refix dragged maximized window generating wrong mouse position events --- Source/Engine/Platform/SDL/SDLPlatform.Windows.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/Platform/SDL/SDLPlatform.Windows.cpp b/Source/Engine/Platform/SDL/SDLPlatform.Windows.cpp index ee93d2940..dfe6642f9 100644 --- a/Source/Engine/Platform/SDL/SDLPlatform.Windows.cpp +++ b/Source/Engine/Platform/SDL/SDLPlatform.Windows.cpp @@ -134,9 +134,9 @@ bool SDLPlatform::EventFilterCallback(void* userdata, SDL_Event* event) if (WinImpl::DraggedWindowSize != window->GetClientSize()) { // The window size changed while dragging, most likely due to maximized window restoring back to previous size. + WinImpl::DraggedWindowMousePosition = WinImpl::DraggedWindowStartPosition + WinImpl::DraggedWindowMousePosition - window->GetClientPosition(); WinImpl::DraggedWindowStartPosition = window->GetClientPosition(); WinImpl::DraggedWindowSize = window->GetClientSize(); - WinImpl::DraggedWindowMousePosition = WinImpl::DraggedWindowStartPosition + WinImpl::DraggedWindowMousePosition - window->GetClientPosition(); } Float2 windowPosition = Float2(static_cast(event->window.data1), static_cast(event->window.data2)); Float2 mousePosition = WinImpl::DraggedWindowMousePosition;