diff options
Diffstat (limited to 'src/osd/modules/input/input_win32.cpp')
-rw-r--r-- | src/osd/modules/input/input_win32.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/osd/modules/input/input_win32.cpp b/src/osd/modules/input/input_win32.cpp index 5c584e33d93..6919c8d5c42 100644 --- a/src/osd/modules/input/input_win32.cpp +++ b/src/osd/modules/input/input_win32.cpp @@ -137,9 +137,12 @@ public: { } - virtual void poll() override + virtual void poll(bool relative_reset) override { - event_based_device::poll(); + event_based_device::poll(relative_reset); + + if (!relative_reset) + return; CURSORINFO cursor_info = {0}; cursor_info.cbSize = sizeof(CURSORINFO); @@ -202,10 +205,6 @@ protected: { // set the button state m_mouse.rgbButtons[args.button] = args.keydown ? 0x80 : 0x00; - - // Make sure we have a fresh mouse position on button down - if (args.keydown) - module().poll_if_necessary(); } private: @@ -322,9 +321,9 @@ public: { } - virtual void poll() override + virtual void poll(bool relative_reset) override { - event_based_device::poll(); + event_based_device::poll(relative_reset); int32_t xpos = 0, ypos = 0; |