mirror of
https://github.com/mpv-player/mpv
synced 2025-02-24 00:46:58 +00:00
w32_common: Don't use globals for TRACKMOUSEEVENT
It seems working on getch2 gave me some brain damage.
This commit is contained in:
parent
f0b1834d59
commit
24e50ee74e
@ -112,12 +112,6 @@ static int mod_state(struct vo *vo)
|
||||
return res;
|
||||
}
|
||||
|
||||
static BOOL tracking;
|
||||
static TRACKMOUSEEVENT trackEvent = {
|
||||
.cbSize = sizeof(TRACKMOUSEEVENT),
|
||||
.dwFlags = TME_LEAVE,
|
||||
};
|
||||
|
||||
static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
@ -234,12 +228,12 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
|
||||
}
|
||||
break;
|
||||
case WM_MOUSELEAVE:
|
||||
tracking = FALSE;
|
||||
w32->tracking = FALSE;
|
||||
mp_input_put_key(vo->input_ctx, MP_KEY_MOUSE_LEAVE);
|
||||
break;
|
||||
case WM_MOUSEMOVE:
|
||||
if (!tracking)
|
||||
tracking = TrackMouseEvent(&trackEvent);;
|
||||
if (!w32->tracking)
|
||||
w32->tracking = TrackMouseEvent(&w32->trackEvent);;
|
||||
vo_mouse_movement(vo, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam));
|
||||
break;
|
||||
case WM_LBUTTONDOWN:
|
||||
@ -644,8 +638,12 @@ int vo_w32_init(struct vo *vo)
|
||||
return 0;
|
||||
}
|
||||
|
||||
tracking = FALSE;
|
||||
trackEvent.hwndTrack = w32->window;
|
||||
w32->tracking = FALSE;
|
||||
w32->trackEvent = (TRACKMOUSEEVENT){
|
||||
.cbSize = sizeof(TRACKMOUSEEVENT),
|
||||
.dwFlags = TME_LEAVE,
|
||||
.hwndTrack = w32->window,
|
||||
};
|
||||
|
||||
if (vo->opts->WinID >= 0)
|
||||
EnableWindow(w32->window, 0);
|
||||
|
@ -49,6 +49,9 @@ struct vo_w32_state {
|
||||
int event_flags;
|
||||
int mon_cnt;
|
||||
int mon_id;
|
||||
|
||||
BOOL tracking;
|
||||
TRACKMOUSEEVENT trackEvent;
|
||||
};
|
||||
|
||||
struct vo;
|
||||
|
Loading…
Reference in New Issue
Block a user