diff options
Diffstat (limited to 'src/w32term.c')
| -rw-r--r-- | src/w32term.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/w32term.c b/src/w32term.c index 5681b6ee62f..305527946fb 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -3282,8 +3282,10 @@ construct_mouse_wheel (result, msg, f) | |||
| 3282 | result->modifiers = (msg->dwModifiers | 3282 | result->modifiers = (msg->dwModifiers |
| 3283 | | ((delta < 0 ) ? down_modifier : up_modifier)); | 3283 | | ((delta < 0 ) ? down_modifier : up_modifier)); |
| 3284 | 3284 | ||
| 3285 | p.x = LOWORD (msg->msg.lParam); | 3285 | /* With multiple monitors, we can legitimately get negative |
| 3286 | p.y = HIWORD (msg->msg.lParam); | 3286 | coordinates, so cast to short to interpret them correctly. */ |
| 3287 | p.x = (short) LOWORD (msg->msg.lParam); | ||
| 3288 | p.y = (short) HIWORD (msg->msg.lParam); | ||
| 3287 | ScreenToClient (msg->msg.hwnd, &p); | 3289 | ScreenToClient (msg->msg.hwnd, &p); |
| 3288 | XSETINT (result->x, p.x); | 3290 | XSETINT (result->x, p.x); |
| 3289 | XSETINT (result->y, p.y); | 3291 | XSETINT (result->y, p.y); |