Windows: Fix wrong initial size passed to rendering driver
This commit is contained in:
parent
97b8ad1af0
commit
1d542257e5
|
@ -5247,6 +5247,9 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
|
||||||
::DwmSetWindowAttribute(wd.hWnd, use_legacy_dark_mode_before_20H1 ? DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1 : DWMWA_USE_IMMERSIVE_DARK_MODE, &value, sizeof(value));
|
::DwmSetWindowAttribute(wd.hWnd, use_legacy_dark_mode_before_20H1 ? DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1 : DWMWA_USE_IMMERSIVE_DARK_MODE, &value, sizeof(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RECT real_client_rect;
|
||||||
|
GetClientRect(wd.hWnd, &real_client_rect);
|
||||||
|
|
||||||
#ifdef RD_ENABLED
|
#ifdef RD_ENABLED
|
||||||
if (rendering_context) {
|
if (rendering_context) {
|
||||||
union {
|
union {
|
||||||
|
@ -5276,7 +5279,7 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
|
||||||
return INVALID_WINDOW_ID;
|
return INVALID_WINDOW_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
rendering_context->window_set_size(id, WindowRect.right - WindowRect.left, WindowRect.bottom - WindowRect.top);
|
rendering_context->window_set_size(id, real_client_rect.right - real_client_rect.left, real_client_rect.bottom - real_client_rect.top);
|
||||||
rendering_context->window_set_vsync_mode(id, p_vsync_mode);
|
rendering_context->window_set_vsync_mode(id, p_vsync_mode);
|
||||||
wd.context_created = true;
|
wd.context_created = true;
|
||||||
}
|
}
|
||||||
|
@ -5284,7 +5287,7 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
|
||||||
|
|
||||||
#ifdef GLES3_ENABLED
|
#ifdef GLES3_ENABLED
|
||||||
if (gl_manager_native) {
|
if (gl_manager_native) {
|
||||||
if (gl_manager_native->window_create(id, wd.hWnd, hInstance, WindowRect.right - WindowRect.left, WindowRect.bottom - WindowRect.top) != OK) {
|
if (gl_manager_native->window_create(id, wd.hWnd, hInstance, real_client_rect.right - real_client_rect.left, real_client_rect.bottom - real_client_rect.top) != OK) {
|
||||||
memdelete(gl_manager_native);
|
memdelete(gl_manager_native);
|
||||||
gl_manager_native = nullptr;
|
gl_manager_native = nullptr;
|
||||||
windows.erase(id);
|
windows.erase(id);
|
||||||
|
@ -5294,7 +5297,7 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gl_manager_angle) {
|
if (gl_manager_angle) {
|
||||||
if (gl_manager_angle->window_create(id, nullptr, wd.hWnd, WindowRect.right - WindowRect.left, WindowRect.bottom - WindowRect.top) != OK) {
|
if (gl_manager_angle->window_create(id, nullptr, wd.hWnd, real_client_rect.right - real_client_rect.left, real_client_rect.bottom - real_client_rect.top) != OK) {
|
||||||
memdelete(gl_manager_angle);
|
memdelete(gl_manager_angle);
|
||||||
gl_manager_angle = nullptr;
|
gl_manager_angle = nullptr;
|
||||||
windows.erase(id);
|
windows.erase(id);
|
||||||
|
|
Loading…
Reference in New Issue