--- file_not_specified_in_diff +++ file_not_specified_in_diff @@ -, +, @@ --- xc.orig/lib/Xrandr/Xrandr.c 2004-04-23 22:43:47 +0400 +++ xc/lib/Xrandr/Xrandr.c 2006-04-27 15:10:05 +0400 @@ -709,10 +709,17 @@ snum = XRRRootToScreen(dpy, ((XRRScreenChangeNotifyEvent *) event)->root); - dpy->screens[snum].width = scevent->width; - dpy->screens[snum].height = scevent->height; - dpy->screens[snum].mwidth = scevent->mwidth; - dpy->screens[snum].mheight = scevent->mheight; + if (scevent->rotation & (RR_Rotate_90 | RR_Rotate_270)) { + dpy->screens[snum].width = scevent->height; + dpy->screens[snum].height = scevent->width; + dpy->screens[snum].mwidth = scevent->mheight; + dpy->screens[snum].mheight = scevent->mwidth; + } else { + dpy->screens[snum].width = scevent->width; + dpy->screens[snum].height = scevent->height; + dpy->screens[snum].mwidth = scevent->mwidth; + dpy->screens[snum].mheight = scevent->mheight; + } XRenderSetSubpixelOrder (dpy, snum, scevent->subpixel_order); break; default: