diff options
Diffstat (limited to 'src/osd/windows/window.cpp')
-rw-r--r-- | src/osd/windows/window.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/osd/windows/window.cpp b/src/osd/windows/window.cpp index 21a264ec8e4..d1dcefd7045 100644 --- a/src/osd/windows/window.cpp +++ b/src/osd/windows/window.cpp @@ -1292,17 +1292,20 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR // input events case WM_MOUSEMOVE: - ui_input_push_mouse_move_event(window->machine(), window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); + if (window->machine().phase() != MACHINE_PHASE_RUNNING) break; + window->machine().ui_input().push_mouse_move_event(window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); break; case WM_MOUSELEAVE: - ui_input_push_mouse_leave_event(window->machine(), window->m_target); + if (window->machine().phase() != MACHINE_PHASE_RUNNING) break; + window->machine().ui_input().push_mouse_leave_event(window->m_target); break; case WM_LBUTTONDOWN: { + if (window->machine().phase() != MACHINE_PHASE_RUNNING) break; DWORD ticks = GetTickCount(); - ui_input_push_mouse_down_event(window->machine(), window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); + window->machine().ui_input().push_mouse_down_event(window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); // check for a double-click if (ticks - window->m_lastclicktime < GetDoubleClickTime() && @@ -1310,7 +1313,7 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR GET_Y_LPARAM(lparam) >= window->m_lastclicky - 4 && GET_Y_LPARAM(lparam) <= window->m_lastclicky + 4) { window->m_lastclicktime = 0; - ui_input_push_mouse_double_click_event(window->machine(), window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); + window->machine().ui_input().push_mouse_double_click_event(window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); } else { @@ -1322,11 +1325,13 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR } case WM_LBUTTONUP: - ui_input_push_mouse_up_event(window->machine(), window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); + if (window->machine().phase() != MACHINE_PHASE_RUNNING) break; + window->machine().ui_input().push_mouse_up_event(window->m_target, GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); break; case WM_CHAR: - ui_input_push_char_event(window->machine(), window->m_target, (unicode_char) wparam); + if (window->machine().phase() != MACHINE_PHASE_RUNNING) break; + window->machine().ui_input().push_char_event(window->m_target, (unicode_char) wparam); break; // pause the system when we start a menu or resize |