Author: branden Date: 2004-07-15 02:13:32 -0500 (Thu, 15 Jul 2004) New Revision: 1652
Modified: trunk/debian/CHANGESETS trunk/debian/TODO trunk/debian/changelog trunk/debian/patches/000_stolen_from_HEAD.diff Log: Grab from XFree86 CVS (no later than 2003-11-10) several fixes to the RandR extension manual page and server-side implementation. + Fixed rounding of refresh rate in RandR, updated Xrandr man page (BugzillaR #527, Egbert Eich). + Fix RandR initialization problem when default screen resolution is different from the virtual resolution. (Bugzilla #853, Bob Paauwe). + The call to xf86RandRSetMode() from xf86RandRCreateScreenResources() doesn't appear to be necessary. Removing it restores the documented ViewPort behaviour when RandR is enabled (David Dawes). + Warning fix [Marc Aurele La France] (Closes: #256297) Modified: trunk/debian/CHANGESETS =================================================================== --- trunk/debian/CHANGESETS 2004-07-15 06:36:06 UTC (rev 1651) +++ trunk/debian/CHANGESETS 2004-07-15 07:13:32 UTC (rev 1652) @@ -95,4 +95,17 @@ Update XTerm FAQ to latest version (1.84) from Thomas Dickey's website. 1647 +Grab from XFree86 CVS (no later than 2003-11-10) several fixes to the +RandR extension manual page and server-side implementation. ++ Fixed rounding of refresh rate in RandR, updated Xrandr man page + (BugzillaR #527, Egbert Eich). ++ Fix RandR initialization problem when default screen resolution is + different from the virtual resolution. (Bugzilla #853, Bob Paauwe). ++ The call to xf86RandRSetMode() from xf86RandRCreateScreenResources() + doesn't appear to be necessary. Removing it restores the documented + ViewPort behaviour when RandR is enabled (David Dawes). ++ Warning fix [Marc Aurele La France] +(Closes: #256297) + 1652 + vim:set ai et sts=4 sw=4 tw=80: Modified: trunk/debian/TODO =================================================================== --- trunk/debian/TODO 2004-07-15 06:36:06 UTC (rev 1651) +++ trunk/debian/TODO 2004-07-15 07:13:32 UTC (rev 1652) @@ -57,7 +57,6 @@ more careful about clobbering autodetected monitor sync ranges; study Jay Berkenbilt's feedback [BR] + #259080: xserver-xfree86: [debconf] specialized mouse defaults for Hurd [BR] -* #256297: Apply RandR fixes suggested by Thomas Winischhofer. * #255224: Apply SU Yong's patch to fix GBK to COMPOUND_TEXT conversion in the zh_CN.gbk locale. * #255701: add ISO 10646-1 character set support to ja_JP.UTF-8 XLC_LOCALE data Modified: trunk/debian/changelog =================================================================== --- trunk/debian/changelog 2004-07-15 06:36:06 UTC (rev 1651) +++ trunk/debian/changelog 2004-07-15 07:13:32 UTC (rev 1652) @@ -73,8 +73,20 @@ * Update XTerm FAQ to latest version (1.84) from Thomas Dickey's website. - -- Branden Robinson <[EMAIL PROTECTED]> Wed, 14 Jul 2004 19:59:42 -0500 + * Grab from XFree86 CVS (no later than 2003-11-10) several fixes to the + RandR extension manual page and server-side implementation. + + Fixed rounding of refresh rate in RandR, updated Xrandr man page + (BugzillaR #527, Egbert Eich). + + Fix RandR initialization problem when default screen resolution is + different from the virtual resolution. (Bugzilla #853, Bob Paauwe). + + The call to xf86RandRSetMode() from xf86RandRCreateScreenResources() + doesn't appear to be necessary. Removing it restores the documented + ViewPort behaviour when RandR is enabled (David Dawes). + + Warning fix [Marc Aurele La France] + (Closes: #256297) + -- Branden Robinson <[EMAIL PROTECTED]> Thu, 15 Jul 2004 02:13:15 -0500 + xfree86 (4.3.0.dfsg.1-6) unstable; urgency=low Changes by Branden Robinson: Modified: trunk/debian/patches/000_stolen_from_HEAD.diff =================================================================== --- trunk/debian/patches/000_stolen_from_HEAD.diff 2004-07-15 06:36:06 UTC (rev 1651) +++ trunk/debian/patches/000_stolen_from_HEAD.diff 2004-07-15 07:13:32 UTC (rev 1652) @@ -1,5 +1,7 @@ $Id$ +vim:set encoding=latin1: + Comments by Branden Robinson are made in [brackets]. xc/config/imake/imake.c @ 3.64 @@ -202,6 +204,38 @@ 113. Fix xkbcomp crash with some combinations of layouts in a multi-layout keyboard map (Ivan Pascal). +xc/lib/Xrandr/Xrandr.man @ 1.4 + Remove reference to non-existent Xrender(3) man page (reported to webmaster). + +xc/lib/Xrandr/Xrandr.man @ 1.5 + Fix manual pages typos (Bugzilla #316, Jens Schweikhardt). + +xc/programs/xrandr/xrandr.man @ 1.6 + 213. Removed Copyright sign from man pages as this causes some formatters + to choke (Egbert Eich). + +xc/lib/Xrandr/Xrandr.man @ 1.7 +xc/programs/Xserver/hw/xfree86/common/xf86RandR.c @ 1.5 + 338. Fixed rounding of refresh rate in RandR, updated Xrandr man page + (BugzillaR #527, Egbert Eich). + +xc/programs/Xserver/hw/xfree86/common/xf86RandR.c @ 1.6 + 562. Fix RandR initialization problem when default screen resolution is + different from the virtual resolution. (Bugzilla #853, Bob Paauwe). + +xc/programs/Xserver/hw/xfree86/common/xf86RandR.c @ 1.7 + 568. The call to xf86RandRSetMode() from xf86RandRCreateScreenResources() + doesn't appear to be necessary. Removing it restores the documented + ViewPort behaviour when RandR is enabled (David Dawes). + +xc/programs/Xserver/hw/xfree86/common/xf86RandR.c @ 1.8 + Warning fix + [Marc Aurele La France] + +xc/lib/Xrandr/Xrandr.man @ 1.8 + C-style comments were being stripped by preprocessing. + [David Dawes] + diff -urN xc.orig/config/imake/imake.c xc/config/imake/imake.c --- xc.orig/config/imake/imake.c 2002-12-17 09:48:27.000000000 +1100 +++ xc/config/imake/imake.c 2003-04-09 01:58:14.000000000 +1000 @@ -5307,3 +5341,282 @@ } break; case KEY_Prefix0: +Index: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v +retrieving revision 1.4 +retrieving revision 1.8 +diff -u -r1.4 -r1.8 +--- xc/programs/Xserver/hw/xfree86/common/xf86RandR.c 13 Feb 2003 10:49:38 -0000 1.4 ++++ xc/programs/Xserver/hw/xfree86/common/xf86RandR.c 10 Nov 2003 16:42:13 -0000 1.8 +@@ -1,5 +1,5 @@ + /* +- * $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.4 2003/02/13 10:49:38 eich Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.8 2003/11/10 16:42:13 tsi Exp $ + * + * Copyright � 2002 Keith Packard, member of The XFree86 Project, Inc. + * +@@ -48,9 +48,9 @@ + xf86RandRModeRefresh (DisplayModePtr mode) + { + if (mode->VRefresh) +- return (int) mode->VRefresh; ++ return (int) (mode->VRefresh + 0.5); + else +- return (int) (mode->Clock * 1000.0 / mode->HTotal / mode->VTotal); ++ return (int) (mode->Clock * 1000.0 / mode->HTotal / mode->VTotal + 0.5); + } + + static Bool +@@ -60,7 +60,6 @@ + ScrnInfoPtr scrp = XF86SCRNINFO(pScreen); + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + DisplayModePtr mode; +- Bool reportVirtual = TRUE; + int refresh0 = 60; + + *rotations = RR_Rotate_0; +@@ -75,9 +74,6 @@ + pScreen->mmWidth, pScreen->mmHeight); + if (!pSize) + return FALSE; +- if (mode->HDisplay == randrp->virtualX && +- mode->VDisplay == randrp->virtualY) +- reportVirtual = FALSE; + RRRegisterRate (pScreen, pSize, refresh); + if (mode == scrp->currentMode && + mode->HDisplay == pScreen->width && mode->VDisplay == pScreen->height) +@@ -85,13 +81,14 @@ + if (mode->next == scrp->modes) + break; + } +- if (reportVirtual) ++ if (scrp->currentMode->HDisplay != randrp->virtualX || ++ scrp->currentMode->VDisplay != randrp->virtualY) + { + mode = scrp->modes; + pSize = RRRegisterSize (pScreen, + randrp->virtualX, randrp->virtualY, +- pScreen->mmWidth * randrp->virtualX / mode->HDisplay, +- pScreen->mmHeight * randrp->virtualY / mode->VDisplay); ++ pScreen->mmWidth * randrp->virtualX / scrp->currentMode->HDisplay, ++ pScreen->mmHeight * randrp->virtualY / scrp->currentMode->VDisplay); + if (!pSize) + return FALSE; + RRRegisterRate (pScreen, pSize, refresh0); +@@ -202,17 +199,21 @@ + static Bool + xf86RandRCreateScreenResources (ScreenPtr pScreen) + { +- ScrnInfoPtr scrp = XF86SCRNINFO(pScreen); + XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); ++#if 0 ++ ScrnInfoPtr scrp = XF86SCRNINFO(pScreen); + DisplayModePtr mode; ++#endif + + pScreen->CreateScreenResources = randrp->CreateScreenResources; + if (!(*pScreen->CreateScreenResources) (pScreen)) + return FALSE; + ++#if 0 + mode = scrp->currentMode; + if (mode) + xf86RandRSetMode (pScreen, mode, TRUE); ++#endif + + return TRUE; + } +Index: xc/lib/Xrandr/Xrandr.man +=================================================================== +RCS file: /cvs/xc/lib/Xrandr/Xrandr.man,v +retrieving revision 1.3 +retrieving revision 1.8 +diff -u -r1.3 -r1.8 +--- xc/lib/Xrandr/Xrandr.man 8 Oct 2002 13:00:48 -0000 1.3 ++++ xc/lib/Xrandr/Xrandr.man 23 Nov 2003 05:40:36 -0000 1.8 +@@ -1,8 +1,7 @@ + .\" +-.\" $XFree86: xc/lib/Xrandr/Xrandr.man,v 1.3 2002/10/08 13:00:48 keithp Exp $ +-.\" +-.\" Copyright � 2002 Hewlett-Packard Company ++.\" $XFree86: xc/lib/Xrandr/Xrandr.man,v 1.8 2003/11/23 05:40:36 dawes Exp $ + .\" ++.\" Copyright 2002 Hewlett-Packard Company.\" + .\" Permission to use, copy, modify, distribute, and sell this software and its + .\" documentation for any purpose is hereby granted without fee, provided that + .\" the above copyright notice appear in all copies and that both that +@@ -54,6 +53,14 @@ + Rotation \fIrotation\fP, + Time \fItimestamp\fP\^); + .sp ++Status XRRSetScreenConfigAndRate \^(\^Display *\fIdpy\fP, ++ XRRScreenConfiguration *\fIconfig\fP, ++ Drawable \fIdraw\fP, ++ int \fIsize_index\fP, ++ Rotation \fIrotation\fP, ++ short \fIrate\fP, ++ Time \fItimestamp\fP\^); ++.sp + Rotation XRRConfigRotations\^(\^ + XRRScreenConfiguration *\fIconfig\fP, + Rotation *\fIcurrent_rotation\fP\^); +@@ -66,10 +73,18 @@ + XRRScreenConfiguration *\fIconfig\fP, + int *\fInsizes\fP\^); + .sp ++short *XRRConfigRates \^(\^ ++ XRRScreenConfiguration *\fIconfig\fP, ++ int \fIsize_index\fP, ++ int *\fInrates\fP\^); ++.sp + SizeID XRRConfigCurrentConfiguration \^(\^ + XRRScreenConfiguration *\fIconfig\fP, + Rotation *\fIrotation\fP\^); +-.sp ++.sp ++short XRRConfigCurrentRate \^(\^ ++ XRRScreenConfiguration *\fIconfig\fP\^); ++.sp + int XRRRootToScreen\^(\^ + Display *\fIdpy\fP, + Window \fIroot\fP\^); +@@ -81,14 +96,14 @@ + .sp + void XRRSelectInput\^(\^Display *\fIdpy\fP, Window \fIwindow\fP, int \fImask\fP\^); + .sp +-/* ++/\(** + * intended to take RRScreenChangeNotify, or + * ConfigureNotify \^(\^\fIon the root window\fP\^) + * returns 1 if it is an event type it understands, 0 if not + */ + int XRRUpdateConfiguration\^(\^XEvent *\fIevent\fP^); + .sp +-/* ++/\(** + * the following are always safe to call, even if RandR is + * not implemented on a screen + */ +@@ -100,6 +115,9 @@ + XRRScreenSize *XRRSizes\^(\^Display *\fIdpy\fP, + int \fIscreen\fP, int *\fInsizes\fP\^); + .sp ++short *XRRRates \^(\^Display *\fIdpy\fP, int \fIscreen\fP, ++ int \fIsize_index\fP, int *\fInrates\fP\^); ++.sp + Time XRRTimes \^(\^Display *\fIdpy\fP, int \fIscreen\fP, Time *\fIconfig_timestamp\fP\^); + .fi + .SH ARGUMENTS +@@ -121,6 +139,8 @@ + Specifies the screen configuration being used. + .IP \fIsizes\fP 1i + Specifies the array of sizes supported. ++.IP \fIrate\fP 1i ++Specifies the refresh rate in Hz. + + .SH DATATYPES + +@@ -134,8 +154,8 @@ + #define RR_Rotate_180 4 + #define RR_Rotate_270 8 + +-/* new in 1.0 protocol, to allow reflection of screen */ +-/* reflection is applied after rotation */ ++/\(** new in 1.0 protocol, to allow reflection of screen */ ++/\(** reflection is applied after rotation */ + + #define RR_Reflect_X 16 + #define RR_Reflect_Y 32 +@@ -147,14 +167,14 @@ + } XRRScreenSize; + + typedef struct { +- int type; /* event base */ +- unsigned long serial; /* # of last request processed by server */ +- Bool send_event; /* true if this came from a SendEvent request */ +- Display *display; /* Display the event was read from */ +- Window window; /* window which selected for this event */ +- Window root; /* Root window for changed screen */ +- Time timestamp; /* when the screen change occurred */ +- Time config_timestamp; /* when the last configuration change */ ++ int type; /\(** event base */ ++ unsigned long serial; /\(** # of last request processed by server */ ++ Bool send_event; /\(** true if this came from a SendEvent request */ ++ Display *display; /\(** Display the event was read from */ ++ Window window; /\(** window which selected for this event */ ++ Window root; /\(** Root window for changed screen */ ++ Time timestamp; /\(** when the screen change occurred */ ++ Time config_timestamp; /\(** when the last configuration change */ + SizeID size_index; + SubpixelOrder subpixel_order; + Rotation rotation; +@@ -187,7 +207,7 @@ + is a simple library designed to interface the X Resize and Rotate + Extension. This allows clients to change the size and rotation of the + root window of a screen, along with the ability to reflect the screen +-about either axis (if supported by the impementation). Rotation and ++about either axis (if supported by the implementation). Rotation and + reflection may be implemented by software and may result in slower + performance if rotation and reflection are implemented in this fashion + (as are all implementations as of October 2002). +@@ -239,7 +259,7 @@ + we did not want to change display structure data behind the back of toolkits, + as in multithreaded clients, various race conditions might occur. + Toolkits should provide clients some mechanism for notification of +-screen change, of couse. ++screen change, of course. + + .SH FUNCTIONS + There are two classes of interfaces: those which can be safely called +@@ -258,6 +278,10 @@ + of the server. If RandR is not supported, it returns 0 for + the number of sizes. + .PP ++.B XRRRates ++returns a pointer to a the rates supported by the specified size. ++If RandR is not supported, it returns 0 for the number of rates. ++.PP + .B XRRTimes + returns the time last reported by the server along with the + timestamp the last configuration changed. +@@ -277,7 +301,7 @@ + .B BadValue + error. + \fIsize_index\fP specifies which size configuration is to be used, +-\fIrotation\fP specifies which rotatation or reflection is to ++\fIrotation\fP specifies which rotation or reflection is to + be used (or a + .B BadValue + error is returned). +@@ -287,11 +311,20 @@ + information if it fails and try the call again (by calling + \fBXRRGetScreenInfo\fP). + .PP ++.B XRRSetScreenConfigAndRate ++like ++.B XRRSetScreenConfig ++but also set the refresh rate. If specified rate is not supported a ++.B BadValue ++error is returned. ++.PP + .B XRRConfigRotations, + .B XRRConfigSizes, + .B XRRConfigCurrentConfiguration, ++.B XRRConfigTimes, ++.B XRRConfigRates, + and +-.B XRRConfigTimes ++.B XRRConfigCurrentRate + are used to get specific configuration information out of a screen + configuration. + .PP +@@ -312,8 +345,6 @@ + .SH RESTRICTIONS + .B Xrandr + will remain upward compatible after the current 1.0 release. +-.SH "SEE ALSO" +-Xrender(3) + .SH AUTHOR + Jim Gettys, HP, and Keith Packard, member of the XFree86 Project, Inc. and + HP.