summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorDiogo Franco (Kovensky) <diogomfranco@gmail.com>2013-07-25 14:47:49 -0300
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2013-07-25 14:47:49 -0300
commit24e50ee74e69ff4c4f66510360a611f612c0f140 (patch)
tree6caba6391d94eb46cea488511e81400cd00dde87 /video
parentf0b1834d59e7c0e7d696faf9c52837d009e915b3 (diff)
downloadmpv-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.
Diffstat (limited to 'video')
-rw-r--r--video/out/w32_common.c20
-rw-r--r--video/out/w32_common.h3
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;