Fix NativeWindow_Windows returning the wrong size. (#3153)
Make sure WM_WINDOWPOSCHANGED bubbles up so that we can see WM_SIZE. Signed-off-by: nvsickle <nvsickle@amazon.com>
This commit is contained in:
committed by
GitHub
parent
d9ea329cbd
commit
d1cedba042
+11
-3
@@ -207,7 +207,10 @@ namespace AzFramework
|
|||||||
// Handles Win32 Window Event callbacks
|
// Handles Win32 Window Event callbacks
|
||||||
LRESULT CALLBACK NativeWindowImpl_Win32::WindowCallback(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
LRESULT CALLBACK NativeWindowImpl_Win32::WindowCallback(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
NativeWindowImpl_Win32* nativeWindowImpl = reinterpret_cast<NativeWindowImpl_Win32*>(GetWindowLongPtr(hWnd, GWLP_USERDATA));
|
NativeWindowImpl_Win32* nativeWindowImpl = reinterpret_cast<NativeWindowImpl_Win32*>(GetWindowLongPtr(hWnd, GWLP_USERDATA));
|
||||||
|
|
||||||
|
// If set to true, call DefWindowProc to ensure the default Windows behavior occurs
|
||||||
|
bool shouldBubbleEventUp = false;
|
||||||
|
|
||||||
switch (message)
|
switch (message)
|
||||||
{
|
{
|
||||||
@@ -276,14 +279,19 @@ namespace AzFramework
|
|||||||
uint32_t refreshRate = DisplayConfig.dmDisplayFrequency;
|
uint32_t refreshRate = DisplayConfig.dmDisplayFrequency;
|
||||||
WindowNotificationBus::Event(
|
WindowNotificationBus::Event(
|
||||||
nativeWindowImpl->GetWindowHandle(), &WindowNotificationBus::Events::OnRefreshRateChanged, refreshRate);
|
nativeWindowImpl->GetWindowHandle(), &WindowNotificationBus::Events::OnRefreshRateChanged, refreshRate);
|
||||||
|
shouldBubbleEventUp = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
shouldBubbleEventUp = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
if (!shouldBubbleEventUp)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindowImpl_Win32::WindowSizeChanged(const uint32_t width, const uint32_t height)
|
void NativeWindowImpl_Win32::WindowSizeChanged(const uint32_t width, const uint32_t height)
|
||||||
|
|||||||
Reference in New Issue
Block a user