summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2019-10-06 20:22:08 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2019-10-06 20:22:08 +0200
commit9b7299412d10e68c8aacc5f0debb7c80bf874120 (patch)
tree93ad61320d838bf29b3c3edc73d05065bf3a6a63
parent1ada99b405a8a91524cabbdcdd07466079c89c4a (diff)
Fix GUI not showing in Reaper under Windows on first opening it.
-rw-r--r--plugingui/nativewindow_win32.cc23
1 files changed, 15 insertions, 8 deletions
diff --git a/plugingui/nativewindow_win32.cc b/plugingui/nativewindow_win32.cc
index 1ac1115..55f7c69 100644
--- a/plugingui/nativewindow_win32.cc
+++ b/plugingui/nativewindow_win32.cc
@@ -59,8 +59,14 @@ LRESULT CALLBACK NativeWindowWin32::dialogProc(HWND hwnd, UINT msg,
Window& window = native->window;
- switch(msg) {
+ switch(msg)
+ {
case WM_SIZE:
+ if(wp > 4)
+ {
+ // Bogus value - ignore
+ break;
+ }
{
auto resizeEvent = std::make_shared<ResizeEvent>();
resizeEvent->width = LOWORD(lp);
@@ -344,18 +350,19 @@ LRESULT CALLBACK NativeWindowWin32::subClassProc(HWND hwnd, UINT msg,
return DefWindowProc(hwnd, msg, wp, lp);
}
- switch(msg) {
+ switch(msg)
+ {
case WM_SIZE:
+ if(wp > 4)
{
+ // Bogus value - ignore
+ break;
+ }
+ {
+ // Parent window size changed, replicate this size in inner window.
int width = LOWORD(lp);
int height = HIWORD(lp);
SetWindowPos(native->m_hwnd, nullptr, -1, -1, width, height, SWP_NOMOVE);
- RECT rect;
- GetClientRect(native->m_hwnd, &rect);
- int w = width - rect.right;
- int h = height - rect.bottom;
- SetWindowPos(native->m_hwnd, nullptr, -1, -1, width + w, height + h, SWP_NOMOVE);
- native->window.resized(w, h);
}
break;
}