Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.12
-
None
Description
It's default value is 'true' and it never gets assigned 'false';
class KeyChecker { public: KeyChecker(xcb_window_t window, xcb_keycode_t code, xcb_timestamp_t time, quint16 state) : m_window(window) , m_code(code) , m_time(time) , m_state(state) , m_error(false) , m_release(true) { } bool operator() (xcb_generic_event_t *ev) { if (m_error || !ev) return false; int type = ev->response_type & ~0x80; if (type != XCB_KEY_PRESS && type != XCB_KEY_RELEASE) return false; auto *event = reinterpret_cast<xcb_key_press_event_t *>(ev); if (event->event != m_window || event->detail != m_code || event->state != m_state) { m_error = true; return false; } if (type == XCB_KEY_PRESS) { m_error = !m_release || event->time - m_time > 10; return !m_error; } if (m_release) { m_error = true; return false; } m_release = true; m_time = event->time; return false; } private: xcb_window_t m_window; xcb_keycode_t m_code; xcb_timestamp_t m_time; quint16 m_state; bool m_error; bool m_release; };
Attachments
Issue Links
- relates to
-
QTBUG-57335 QKeyEvent::isAutoRepeat sometimes wrongly false in keyReleaseEvent
- Open
For Gerrit Dashboard: QTBUG-69679 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
236053,8 | xcb: rewrite auto-repeat key detection logic | dev | qt/qtbase | Status: MERGED | +2 | 0 |