summaryrefslogtreecommitdiffstats
path: root/libvo/x11_common.c
diff options
context:
space:
mode:
authoratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-10 08:16:07 +0000
committeratmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-10 08:16:07 +0000
commit9d43571cd853815c5ba7e36859578b5122d3ce09 (patch)
tree859cf9df72a8a76cdfb02c8e70fce5fb0e951e20 /libvo/x11_common.c
parent73966ff69a173713b628f5ff1a40d84ce3a6494d (diff)
downloadmpv-9d43571cd853815c5ba7e36859578b5122d3ce09.tar.bz2
mpv-9d43571cd853815c5ba7e36859578b5122d3ce09.tar.xz
VM fixes by Nilmoni Deb.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5020 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r--libvo/x11_common.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index f64e6a72a7..b8bb7e6945 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -672,16 +672,27 @@ void vo_vm_switch(uint32_t X, uint32_t Y, int* modeline_width, int* modeline_hei
void vo_vm_close(Display *dpy)
{
#ifdef HAVE_NEW_GUI
- if ((vidmodes!=NULL)&&( vo_window == None ) )
+ if (vidmodes!=NULL && vo_window != None)
#else
if (vidmodes!=NULL)
#endif
- {
- int screen; screen=DefaultScreen( dpy );
- XF86VidModeSwitchToMode(dpy,screen,vidmodes[0]);
- XF86VidModeSwitchToMode(dpy,screen,vidmodes[0]);
- free(vidmodes);
- }
+ {
+ int i, modecount;
+ int screen; screen=DefaultScreen( dpy );
+
+ free(vidmodes); vidmodes=NULL;
+ XF86VidModeGetAllModeLines(mDisplay,mScreen,&modecount,&vidmodes);
+ for (i=0; i<modecount; i++)
+ if ((vidmodes[i]->hdisplay == vo_screenwidth) && (vidmodes[i]->vdisplay == vo_screenheight))
+ {
+ printf("\nReturning to original mode %dx%d\n", vo_screenwidth, vo_screenheight);
+ break;
+ }
+
+ XF86VidModeSwitchToMode(dpy,screen,vidmodes[i]);
+ XF86VidModeSwitchToMode(dpy,screen,vidmodes[i]);
+ free(vidmodes);
+ }
}
#endif