Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Win32: Fix issue with SetCapture & negative values.

This fixes an issue where we were using the wrong macros to extract the position from WM_MOUSEMOVE, so negative values were behaving incorrectly.
These would be generated in multimon situations, or if you use SetCapture.

Fixes http://bugzilla.libsdl.org/show_bug.cgi?id=1175
  • Loading branch information
jorgenpt committed Jun 5, 2013
1 parent 68ef36c commit 889788d6e97fcb9d859b0da569158880c41e478b
Showing with 3 additions and 1 deletion.
  1. +3 −1 src/video/windows/SDL_windowsevents.c
@@ -33,6 +33,8 @@
/* Dropfile support */
#include <shellapi.h>

/* For GET_X_LPARAM, GET_Y_LPARAM. */
#include <windowsx.h>

/*#define WMMSG_DEBUG*/
#ifdef WMMSG_DEBUG
@@ -381,7 +383,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

case WM_MOUSEMOVE:
if( !SDL_GetMouse()->relative_mode )
SDL_SendMouseMotion(data->window, 0, 0, LOWORD(lParam), HIWORD(lParam));
SDL_SendMouseMotion(data->window, 0, 0, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
/* don't break here, fall through to check the wParam like the button presses */
case WM_LBUTTONUP:
case WM_RBUTTONUP:

0 comments on commit 889788d

Please sign in to comment.