mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #5516 from Hinsbart/fix_win_freeze
Windows: prevent freeze while moving or resizing the game window.
This commit is contained in:
commit
6bd22b9c2e
@ -612,6 +612,20 @@ LRESULT OS_Windows::WndProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam) {
|
||||
}
|
||||
//return 0; // Jump Back
|
||||
} break;
|
||||
|
||||
case WM_ENTERSIZEMOVE: {
|
||||
move_timer_id = SetTimer(hWnd, 1, USER_TIMER_MINIMUM,(TIMERPROC) NULL);
|
||||
} break;
|
||||
case WM_EXITSIZEMOVE: {
|
||||
KillTimer(hWnd, move_timer_id);
|
||||
} break;
|
||||
case WM_TIMER: {
|
||||
if (wParam == move_timer_id) {
|
||||
process_key_events();
|
||||
Main::iteration();
|
||||
}
|
||||
} break;
|
||||
|
||||
case WM_SYSKEYDOWN:
|
||||
case WM_SYSKEYUP:
|
||||
case WM_KEYUP:
|
||||
@ -1140,7 +1154,7 @@ void OS_Windows::initialize(const VideoMode& p_desired,int p_video_driver,int p_
|
||||
|
||||
DragAcceptFiles(hWnd,true);
|
||||
|
||||
|
||||
move_timer_id = 1;
|
||||
}
|
||||
|
||||
void OS_Windows::set_clipboard(const String& p_text) {
|
||||
|
@ -104,6 +104,8 @@ class OS_Windows : public OS {
|
||||
HINSTANCE hInstance; // Holds The Instance Of The Application
|
||||
HWND hWnd;
|
||||
|
||||
uint32_t move_timer_id;
|
||||
|
||||
HCURSOR hCursor;
|
||||
|
||||
Size2 window_rect;
|
||||
|
Loading…
Reference in New Issue
Block a user