Merge pull request #12904 from eska014/html5-fix-mousebuttons

Fix HTML5 mouse button release events
This commit is contained in:
Rémi Verschelde 2017-11-13 16:31:43 +01:00 committed by GitHub
commit 3732b2318e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 3 deletions

View File

@ -166,14 +166,15 @@ static EM_BOOL _mousebutton_callback(int event_type, const EmscriptenMouseEvent
}
int mask = _input->get_mouse_button_mask();
int button_flag = 1 << (ev->get_button_index() - 1);
if (ev->is_pressed()) {
// since the event is consumed, focus manually
if (!is_canvas_focused()) {
focus_canvas();
}
mask |= ev->get_button_index();
} else if (mask & ev->get_button_index()) {
mask &= ~ev->get_button_index();
mask |= button_flag;
} else if (mask & button_flag) {
mask &= ~button_flag;
} else {
// release event, but press was outside the canvas, so ignore
return false;