mirror of https://github.com/encounter/SDL.git
Don't compare raw mouse button state with windows message button state
When mouse buttons are swapped, right mouse button down is the same value as raw mouse button up, and conceptually the two systems use different button masks, so never cache state between the two. Fixes https://github.com/libsdl-org/SDL/issues/5108
This commit is contained in:
parent
3d5fcb5da6
commit
ca18bf11ee
|
@ -306,6 +306,9 @@ WIN_CheckWParamMouseButtons(WPARAM wParam, SDL_WindowData *data, SDL_MouseID mou
|
|||
static void
|
||||
WIN_CheckRawMouseButtons(ULONG rawButtons, SDL_WindowData *data, SDL_MouseID mouseID)
|
||||
{
|
||||
// Add a flag to distinguish raw mouse buttons from wParam above
|
||||
rawButtons |= 0x8000000;
|
||||
|
||||
if (rawButtons != data->mouse_button_flags) {
|
||||
Uint32 mouseFlags = SDL_GetMouseState(NULL, NULL);
|
||||
SDL_bool swapButtons = GetSystemMetrics(SM_SWAPBUTTON) != 0;
|
||||
|
|
Loading…
Reference in New Issue