diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-11-15 18:56:25 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-11-15 18:56:25 +0000 |
commit | 4b9ee2e2063f8d0a56288cb9d1aa8b35e640600b (patch) | |
tree | b871040755c18ef882d0f8d0fcc46bcec7e31ba1 /libvo/x11_common.c | |
parent | c8d9e2eb60e942009c35270b97045e84e74dd5d5 (diff) | |
download | mpv-4b9ee2e2063f8d0a56288cb9d1aa8b35e640600b.tar.bz2 mpv-4b9ee2e2063f8d0a56288cb9d1aa8b35e640600b.tar.xz |
Simplify vo_vm_switch and vo_vm_close, everyone was using the (almost) same
boiler-plate code with them, just with different bugs.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27924 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r-- | libvo/x11_common.c | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c index f03a062d73..cdbffad7a2 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -1743,12 +1743,13 @@ void vo_x11_selectinput_witherr(Display * display, Window w, } #ifdef CONFIG_XF86VM -void vo_vm_switch(uint32_t X, uint32_t Y, int *modeline_width, - int *modeline_height) +void vo_vm_switch(void) { int vm_event, vm_error; int vm_ver, vm_rev; int i, j, have_vm = 0; + int X = vo_dwidth, Y = vo_dheight; + int modeline_width, modeline_height; int modecount; @@ -1761,8 +1762,6 @@ void vo_vm_switch(uint32_t X, uint32_t Y, int *modeline_width, } else { mp_msg(MSGT_VO, MSGL_WARN, "XF86VidMode extension not available.\n"); - *modeline_width = vo_screenwidth; - *modeline_height = vo_screenheight; } if (have_vm) @@ -1771,39 +1770,39 @@ void vo_vm_switch(uint32_t X, uint32_t Y, int *modeline_width, XF86VidModeGetAllModeLines(mDisplay, mScreen, &modecount, &vidmodes); j = 0; - *modeline_width = vidmodes[0]->hdisplay; - *modeline_height = vidmodes[0]->vdisplay; + modeline_width = vidmodes[0]->hdisplay; + modeline_height = vidmodes[0]->vdisplay; for (i = 1; i < modecount; i++) if ((vidmodes[i]->hdisplay >= X) && (vidmodes[i]->vdisplay >= Y)) - if ((vidmodes[i]->hdisplay <= *modeline_width) - && (vidmodes[i]->vdisplay <= *modeline_height)) + if ((vidmodes[i]->hdisplay <= modeline_width) + && (vidmodes[i]->vdisplay <= modeline_height)) { - *modeline_width = vidmodes[i]->hdisplay; - *modeline_height = vidmodes[i]->vdisplay; + modeline_width = vidmodes[i]->hdisplay; + modeline_height = vidmodes[i]->vdisplay; j = i; } mp_msg(MSGT_VO, MSGL_INFO, MSGTR_SelectedVideoMode, - *modeline_width, *modeline_height, X, Y); + modeline_width, modeline_height, X, Y); XF86VidModeLockModeSwitch(mDisplay, mScreen, 0); XF86VidModeSwitchToMode(mDisplay, mScreen, vidmodes[j]); XF86VidModeSwitchToMode(mDisplay, mScreen, vidmodes[j]); // FIXME: all this is more of a hack than proper solution - X = (vo_screenwidth - *modeline_width) / 2; - Y = (vo_screenheight - *modeline_height) / 2; + X = (vo_screenwidth - modeline_width) / 2; + Y = (vo_screenheight - modeline_height) / 2; XF86VidModeSetViewPort(mDisplay, mScreen, X, Y); vo_dx = X; vo_dy = Y; - vo_dwidth = *modeline_width; - vo_dheight = *modeline_height; - aspect_save_screenres(*modeline_width, *modeline_height); + vo_dwidth = modeline_width; + vo_dheight = modeline_height; + aspect_save_screenres(modeline_width, modeline_height); } } -void vo_vm_close(Display * dpy) +void vo_vm_close(void) { #ifdef CONFIG_GUI if (vidmodes != NULL && vo_window != None) @@ -1812,9 +1811,6 @@ void vo_vm_close(Display * dpy) #endif { int i, modecount; - int screen; - - screen = DefaultScreen(dpy); free(vidmodes); vidmodes = NULL; @@ -1830,8 +1826,8 @@ void vo_vm_close(Display * dpy) break; } - XF86VidModeSwitchToMode(dpy, screen, vidmodes[i]); - XF86VidModeSwitchToMode(dpy, screen, vidmodes[i]); + XF86VidModeSwitchToMode(mDisplay, mScreen, vidmodes[i]); + XF86VidModeSwitchToMode(mDisplay, mScreen, vidmodes[i]); free(vidmodes); vidmodes = NULL; } |