Browse Source

Fix HTML5 mouse button release events

Leon Krause 7 years ago
parent
commit
159c2ec69c
1 changed files with 4 additions and 3 deletions
  1. 4 3
      platform/javascript/os_javascript.cpp

+ 4 - 3
platform/javascript/os_javascript.cpp

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