X Strike Force XFree86 SVN commit: r1652 - in trunk/debian: . patches
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 <branden@debian.org> 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 <branden@debian.org> 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.
Reply to: