Fixed a bug which pressed/released messages were generated incorrectly for mouse buttons pressed/released in groups.

This commit is contained in:
David Capello 2010-03-07 15:16:15 -02:00
parent 1f29b67364
commit 6ebf5966c3

View File

@ -371,12 +371,15 @@ bool jmanager_generate_messages(JWidget manager)
}
// mouse clicks
if ((jmouse_b(0) != jmouse_b(1)) &&
((!jmouse_b(0)) || (!jmouse_b(1)))) {
if (jmouse_b(0) != jmouse_b(1)) {
int current_ticks = ji_clock;
bool pressed =
((jmouse_b(1) & 1) == 0 && (jmouse_b(0) & 1) == 1) ||
((jmouse_b(1) & 2) == 0 && (jmouse_b(0) & 2) == 2) ||
((jmouse_b(1) & 4) == 0 && (jmouse_b(0) & 4) == 4);
msg = new_mouse_msg(!jmouse_b(1) ? JM_BUTTONPRESSED:
JM_BUTTONRELEASED,
msg = new_mouse_msg(pressed ? JM_BUTTONPRESSED:
JM_BUTTONRELEASED,
capture_widget ? capture_widget:
mouse_widget);