diff options
author | wm4 <wm4@nowhere> | 2013-01-27 07:21:10 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-01-27 13:30:54 +0100 |
commit | 0535a14505c367693fe729a3f1348c4ffd516af3 (patch) | |
tree | cd22dd3c63e5f302107ff038b5998930138d4dc9 /video/out/vo_xv.c | |
parent | e4943165c1f1365a5c2d7b0d6924a8f65454ce20 (diff) | |
download | mpv-0535a14505c367693fe729a3f1348c4ffd516af3.tar.bz2 mpv-0535a14505c367693fe729a3f1348c4ffd516af3.tar.xz |
x11: reduce VO mode switching code duplication
Some parts for initiating mode switches were duplicated in every VO
supporting X11 (except vo_opengl/gl_common, which didn't support mode
switching). Move this to x11_common.c.
Note that this might be slightly risky: is it really guaranteed that no
VO needed to do "special" setup that depends on X parameters changing
after a mode switch, such as bit depth, visuals etc.? From what I can
see, this shouldn't be the case (X probably can't even change depth on
the fly). Even if this should be a one-way road, VM switching is in
general very useless, and its implementation buggy, so it can just be
removed should unfixable problems arise.
Diffstat (limited to 'video/out/vo_xv.c')
-rw-r--r-- | video/out/vo_xv.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/video/out/vo_xv.c b/video/out/vo_xv.c index 8d52db96fa..58e549ee16 100644 --- a/video/out/vo_xv.c +++ b/video/out/vo_xv.c @@ -97,7 +97,6 @@ struct xvctx { struct mp_rect src_rect; struct mp_rect dst_rect; uint32_t max_width, max_height; // zero means: not set - int mode_switched; int Shmem_Flag; #ifdef HAVE_SHM XShmSegmentInfo Shminfo[2]; @@ -532,13 +531,6 @@ static int config(struct vo *vo, uint32_t width, uint32_t height, return -1; { -#ifdef CONFIG_XF86VM - int vm = flags & VOFLAG_MODESWITCHING; - if (vm) { - vo_vm_switch(vo); - ctx->mode_switched = 1; - } -#endif XGetWindowAttributes(x11->display, DefaultRootWindow(x11->display), &attribs); XMatchVisualInfo(x11->display, x11->screen, attribs.depth, TrueColor, @@ -554,17 +546,6 @@ static int config(struct vo *vo, uint32_t width, uint32_t height, vo_x11_create_vo_window(vo, &vinfo, vo->dx, vo->dy, vo->dwidth, vo->dheight, flags, CopyFromParent, "xv"); XChangeWindowAttributes(x11->display, x11->window, xswamask, &xswa); - -#ifdef CONFIG_XF86VM - if (vm) { - /* Grab the mouse pointer in our window */ - if (vo_grabpointer) - XGrabPointer(x11->display, x11->window, True, 0, GrabModeAsync, - GrabModeAsync, x11->window, None, CurrentTime); - XSetInputFocus(x11->display, x11->window, RevertToNone, - CurrentTime); - } -#endif } mp_msg(MSGT_VO, MSGL_V, "using Xvideo port %d for hw scaling\n", @@ -831,10 +812,6 @@ static void uninit(struct vo *vo) } for (i = 0; i < ctx->total_buffers; i++) deallocate_xvimage(vo, i); -#ifdef CONFIG_XF86VM - if (ctx->mode_switched) - vo_vm_close(vo); -#endif // uninit() shouldn't get called unless initialization went past vo_init() vo_x11_uninit(vo); } |