Ticket #1412: vo-wid.diff

File vo-wid.diff, 2.7 KB (added by db3l.net@…, 17 years ago)

Patch for WinID checking in vo_gl and w32_common

Line 
1diff -rc r28311/libvo/vo_gl.c local/libvo/vo_gl.c
2*** r28311/libvo/vo_gl.c Mon Jan 12 06:41:12 2009
3--- local/libvo/vo_gl.c Sat Feb 21 21:31:16 2009
4***************
5*** 128,134 ****
6
7 static void resize(int x,int y){
8 mp_msg(MSGT_VO, MSGL_V, "[gl] Resize: %dx%d\n",x,y);
9! if (WinID >= 0) {
10 int top = 0, left = 0, w = x, h = y;
11 geometry(&top, &left, &w, &h, vo_screenwidth, vo_screenheight);
12 glViewport(top, left, w, h);
13--- 128,134 ----
14
15 static void resize(int x,int y){
16 mp_msg(MSGT_VO, MSGL_V, "[gl] Resize: %dx%d\n",x,y);
17! if (WinID != -1) {
18 int top = 0, left = 0, w = x, h = y;
19 geometry(&top, &left, &w, &h, vo_screenwidth, vo_screenheight);
20 glViewport(top, left, w, h);
21diff -rc r28311/libvo/w32_common.c local/libvo/w32_common.c
22*** r28311/libvo/w32_common.c Wed Jan 14 00:16:17 2009
23--- local/libvo/w32_common.c Sat Feb 21 21:31:29 2009
24***************
25*** 185,191 ****
26 TranslateMessage(&msg);
27 DispatchMessage(&msg);
28 }
29! if (WinID >= 0) {
30 RECT r;
31 GetClientRect(vo_window, &r);
32 if (r.right != vo_dwidth || r.bottom != vo_dheight) {
33--- 185,191 ----
34 TranslateMessage(&msg);
35 DispatchMessage(&msg);
36 }
37! if (WinID != -1) {
38 RECT r;
39 GetClientRect(vo_window, &r);
40 if (r.right != vo_dwidth || r.bottom != vo_dheight) {
41***************
42*** 312,318 ****
43 HDC vo_hdc = GetDC(vo_window);
44 RECT r;
45 int pf;
46! if (WinID < 0) {
47 int style = (vo_border && !vo_fs) ?
48 (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP;
49
50--- 312,318 ----
51 HDC vo_hdc = GetDC(vo_window);
52 RECT r;
53 int pf;
54! if (WinID == -1) {
55 int style = (vo_border && !vo_fs) ?
56 (WS_OVERLAPPEDWINDOW | WS_SIZEBOX) : WS_POPUP;
57
58***************
59*** 397,403 ****
60 o_dwidth = width;
61 o_dheight = height;
62
63! if (WinID < 0) {
64 // the desired size is ignored in wid mode, it always matches the window size.
65 prev_width = vo_dwidth = width;
66 prev_height = vo_dheight = height;
67--- 397,403 ----
68 o_dwidth = width;
69 o_dheight = height;
70
71! if (WinID == -1) {
72 // the desired size is ignored in wid mode, it always matches the window size.
73 prev_width = vo_dwidth = width;
74 prev_height = vo_dheight = height;
75***************
76*** 451,457 ****
77 }
78 }
79
80! if (WinID >= 0)
81 {
82 RECT r;
83 GetClientRect(WinID, &r);
84--- 451,457 ----
85 }
86 }
87
88! if (WinID != -1)
89 {
90 RECT r;
91 GetClientRect(WinID, &r);