diff options
Diffstat (limited to 'src/osd/modules/input/input_common.h')
-rw-r--r-- | src/osd/modules/input/input_common.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/osd/modules/input/input_common.h b/src/osd/modules/input/input_common.h index 28e53fb0ccb..73ddd2bf936 100644 --- a/src/osd/modules/input/input_common.h +++ b/src/osd/modules/input/input_common.h @@ -91,7 +91,7 @@ template <class TEvent> class event_based_device : public device_info { private: - static inline constexpr unsigned DEFAULT_EVENT_QUEUE_SIZE = 20; + static inline constexpr unsigned DEFAULT_EVENT_QUEUE_SIZE = 64; std::queue<TEvent> m_event_queue; @@ -117,7 +117,7 @@ public: m_event_queue.pop(); } - void virtual poll(bool relative_reset) override + virtual void poll(bool relative_reset) override { std::lock_guard<std::mutex> scope_lock(m_device_lock); @@ -128,6 +128,12 @@ public: m_event_queue.pop(); } } + + virtual void reset() override + { + std::lock_guard<std::mutex> scope_lock(m_device_lock); + std::queue<TEvent>().swap(m_event_queue); + } }; |