diff options
author | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-10 08:16:07 +0000 |
---|---|---|
committer | atmos4 <atmos4@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-10 08:16:07 +0000 |
commit | 9d43571cd853815c5ba7e36859578b5122d3ce09 (patch) | |
tree | 859cf9df72a8a76cdfb02c8e70fce5fb0e951e20 /libvo | |
parent | 73966ff69a173713b628f5ff1a40d84ce3a6494d (diff) | |
download | mpv-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')
-rw-r--r-- | libvo/x11_common.c | 25 |
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 |