diff options
author | Diogo Franco (Kovensky) <diogomfranco@gmail.com> | 2013-07-25 14:47:49 -0300 |
---|---|---|
committer | Diogo Franco (Kovensky) <diogomfranco@gmail.com> | 2013-07-25 14:47:49 -0300 |
commit | 24e50ee74e69ff4c4f66510360a611f612c0f140 (patch) | |
tree | 6caba6391d94eb46cea488511e81400cd00dde87 | |
parent | f0b1834d59e7c0e7d696faf9c52837d009e915b3 (diff) | |
download | mpv-24e50ee74e69ff4c4f66510360a611f612c0f140.tar.bz2 mpv-24e50ee74e69ff4c4f66510360a611f612c0f140.tar.xz |
w32_common: Don't use globals for TRACKMOUSEEVENT
It seems working on getch2 gave me some brain damage.
-rw-r--r-- | video/out/w32_common.c | 20 | ||||
-rw-r--r-- | video/out/w32_common.h | 3 |
2 files changed, 12 insertions, 11 deletions
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; |