From 24e50ee74e69ff4c4f66510360a611f612c0f140 Mon Sep 17 00:00:00 2001 From: "Diogo Franco (Kovensky)" Date: Thu, 25 Jul 2013 14:47:49 -0300 Subject: w32_common: Don't use globals for TRACKMOUSEEVENT It seems working on getch2 gave me some brain damage. --- video/out/w32_common.c | 20 +++++++++----------- video/out/w32_common.h | 3 +++ 2 files changed, 12 insertions(+), 11 deletions(-) (limited to 'video') diff --git a/video/out/w32_common.c b/video/out/w32_common.c index 0315056750..4515c9bda7 100644 --- a/video/out/w32_common.c +++ b/video/out/w32_common.c @@ -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); diff --git a/video/out/w32_common.h b/video/out/w32_common.h index 8465f028d6..26b21e34ad 100644 --- a/video/out/w32_common.h +++ b/video/out/w32_common.h @@ -49,6 +49,9 @@ struct vo_w32_state { int event_flags; int mon_cnt; int mon_id; + + BOOL tracking; + TRACKMOUSEEVENT trackEvent; }; struct vo; -- cgit v1.2.3