If down is false we can't just toggle the current internal state, even
though this is correct most of the time. There are cases where we don't
get the down event and thus won't have a correct internal state. For
example, when clicking in the session after using the clipboard
textarea.
If down is false, we always want to send a mouse event with the button
in 'up'-state.
if (down) {
this._mouse_buttonMask |= bmask;
} else {
- this._mouse_buttonMask ^= bmask;
+ this._mouse_buttonMask &= ~bmask;
}
if (this._viewportDrag) {