On Windows, fix CursorMoved(0, 0) getting sent on focus (#819)

* On Windows, fix CursorMoved(0, 0) getting sent on focus

* Add changelog entry
This commit is contained in:
Osspial
2019-03-19 22:19:41 -04:00
committed by GitHub
parent e0340d52b0
commit b6ca584ecf
2 changed files with 3 additions and 11 deletions

View File

@@ -1,5 +1,7 @@
# Unreleased
- On Windows, fix `CursorMoved(0, 0)` getting dispatched on window focus.
# Version 0.19.0 (2019-03-06)
- On X11, we will use the faster `XRRGetScreenResourcesCurrent` function instead of `XRRGetScreenResources` when available.

View File

@@ -1052,22 +1052,12 @@ unsafe fn callback_inner(
}
winuser::WM_SETFOCUS => {
use events::WindowEvent::{Focused, CursorMoved};
use events::WindowEvent::Focused;
send_event(Event::WindowEvent {
window_id: SuperWindowId(WindowId(window)),
event: Focused(true)
});
let x = windowsx::GET_X_LPARAM(lparam) as f64;
let y = windowsx::GET_Y_LPARAM(lparam) as f64;
let dpi_factor = get_hwnd_scale_factor(window);
let position = LogicalPosition::from_physical((x, y), dpi_factor);
send_event(Event::WindowEvent {
window_id: SuperWindowId(WindowId(window)),
event: CursorMoved { device_id: DEVICE_ID, position, modifiers: event::get_key_mods() },
});
0
},