* Wed Feb 18 2009 Peter Hutterer <peter.hutterer@redhat.com> 1.5.99.903-1

- xserver 1.6. RC 3
- remove patches merged into upstream.
This commit is contained in:
Peter Hutterer 2009-02-18 07:13:02 +00:00
parent 43ea777e02
commit 629ea28ab9
9 changed files with 8 additions and 524 deletions

View File

@ -1 +1 @@
xorg-server-1.5.99.902.tar.bz2
xorg-server-1.5.99.903.tar.bz2

View File

@ -1 +1 @@
7ccbc4519bd6ad289cbbd7b696d30e8e xorg-server-1.5.99.902.tar.bz2
c80db7b363ea9303243c58e77c464df0 xorg-server-1.5.99.903.tar.bz2

View File

@ -18,8 +18,8 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.5.99.902
Release: 13%{?dist}
Version: 1.5.99.903
Release: 1%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -82,33 +82,21 @@ Patch6002: xserver-1.5.1-mode-debug.patch
Patch6004: xserver-1.5.99.3-dmx-xcalloc.patch
Patch6008: xserver-1.5.99.3-fix-core-fonts.patch
# Pushed to master, should be in 1.6
Patch6009: xserver-1.5.99.902-xinerama.patch
# cf. bug 482924
Patch6010: xserver-1.5.99.902-selinux-debugging.patch
# nominated for 1.6 (FDO #19574)
Patch6011: xserver-1.5.99.902-mediakeys-crash.patch
# ensure HAL can start after X, upstream soon, not 1.6 yet.
Patch6012: xserver-1.5.99.902-listen-for-hal.patch
# don't try intel on poulsbo
Patch6013: xserver-1.5.99.902-sod-off-poulsbo.patch
# In master, nominated for 1.6
Patch6014: xserver-1.5.99.902-always-RAW.patch
# https://bugs.freedesktop.org/show_bug.cgi?id=20087
Patch6015: xserver-1.5.99.902-vnc.patch
# RH 469572, FDO 20081
Patch6016: xserver-1.5.99.902-xkb-colors.patch
# Make autoconfiguration chose nouveau driver for NVIDIA GPUs
Patch6017: xserver-1.5.99.902-nouveau.patch
# hackaround for non-randr drivers, should be in final
Patch6018: xserver-1.5.99.902-randr-soft-getpanning.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
%define sdkdir %{_includedir}/xorg
@ -525,6 +513,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Wed Feb 18 2009 Peter Hutterer <peter.hutterer@redhat.com> 1.5.99.903-1
- xserver 1.6. RC 3
- remove patches merged into upstream.
* Tue Feb 17 2009 Adam Jackson <ajax@redhat.com> 1.5.99.902-13
- xserver-1.5.99.902-randr-soft-getpanning.patch: Fail RRGetPanning softly
when the driver doesn't support it.

View File

@ -1,230 +0,0 @@
From 49b93df8a3002db7196aa3fc1fd8dca1c12a55d6 Mon Sep 17 00:00:00 2001
From: Paulo Cesar Pereira de Andrade<pcpa@mandriva.com.br>
Date: Wed, 07 Jan 2009 21:37:03 +0000
Subject: Default to use standard bitmap fonts, with builtins as fallback
The builtin-fonts configure option was removed, as it at best should
have been a runtime option. Instead, now it always register all "font
path element" backends, and adds built-ins fonts at the end of the
default font path.
This should be a more reasonable solution, to "correct" the most
common Xorg FAQ (could not open default font 'fixed'), and also don't
break by default applications that use only the standard/historical
X Font rendering.
---
diff --git a/configure.ac b/configure.ac
index 22a09b0..ae455de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -507,9 +507,6 @@ AC_ARG_ENABLE(install-libxf86config,
[Install libxf86config (default: disabled)]),
[INSTALL_LIBXF86CONFIG=$enableval],
[INSTALL_LIBXF86CONFIG=no])
-AC_ARG_ENABLE(builtin-fonts, AS_HELP_STRING([--enable-builtin-fonts], [Use only built-in fonts (default: yes)]),
- [BUILTIN_FONTS=$enableval],
- [BUILTIN_FONTS=yes])
AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor], [Use an empty root cursor (default: use core cursor)]),
[NULL_ROOT_CURSOR=$enableval],
[NULL_ROOT_CURSOR=no])
@@ -963,11 +960,6 @@ if test "x$DPMSExtension" = xyes; then
AC_DEFINE(DPMSExtension, 1, [Support DPMS extension])
fi
-if test "x$BUILTIN_FONTS" = xyes; then
- AC_DEFINE(BUILTIN_FONTS, 1, [Use only built-in fonts])
- FONTPATH="built-ins"
-fi
-
if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 15d011c..b0fbed2 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -1906,12 +1906,9 @@ InitFonts (void)
{
patternCache = MakeFontPatternCache();
-#ifdef BUILTIN_FONTS
BuiltinRegisterFpeFunctions();
-#else
FontFileRegisterFpeFunctions();
fs_register_fpe_functions();
-#endif
}
int
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 48d8efd..198b20f 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -110,8 +110,6 @@ extern DeviceAssocRec mouse_assoc;
#define PROJECTROOT "/usr/X11R6"
#endif
-static char *fontPath = NULL;
-
static ModuleDefault ModuleDefaults[] = {
{.name = "extmod", .toLoad = TRUE, .load_opt=NULL},
{.name = "dbe", .toLoad = TRUE, .load_opt=NULL},
@@ -586,90 +584,55 @@ xf86ConfigError(char *msg, ...)
static void
configFiles(XF86ConfFilesPtr fileconf)
{
- MessageType pathFrom = X_DEFAULT;
- int countDirs;
- char *temp_path;
- char *log_buf;
-
- /* FontPath */
- /* Try XF86Config FontPath first */
- if (!xf86fpFlag) {
- if (fileconf) {
- if (fileconf->file_fontpath) {
- char *f = xf86ValidateFontPath(fileconf->file_fontpath);
- pathFrom = X_CONFIG;
- if (*f) {
- if (xf86Info.useDefaultFontPath) {
- char *g;
- xf86Msg(X_DEFAULT, "Including the default font path %s.\n", defaultFontPath);
- g = xnfalloc(strlen(defaultFontPath) + strlen(f) + 3);
- strcpy(g, f);
- strcat(g, ",");
- defaultFontPath = strcat(g, defaultFontPath);
- xfree(f);
- } else {
- defaultFontPath = f;
- }
- } else {
- xf86Msg(X_WARNING,
- "FontPath is completely invalid. Using compiled-in default.\n");
- fontPath = NULL;
- pathFrom = X_DEFAULT;
- }
- }
- } else {
- xf86Msg(X_DEFAULT,
- "No FontPath specified. Using compiled-in default.\n");
- pathFrom = X_DEFAULT;
- }
- } else {
- /* Use fontpath specified with '-fp' */
- if (fontPath)
- {
- fontPath = NULL;
+ MessageType pathFrom;
+ Bool must_copy;
+ int size, countDirs;
+ char *temp_path, *log_buf, *start, *end;
+
+ /* FontPath */
+ must_copy = TRUE;
+
+ temp_path = defaultFontPath ? defaultFontPath : "";
+ if (xf86fpFlag)
+ pathFrom = X_CMDLINE;
+ else if (fileconf && fileconf->file_fontpath) {
+ pathFrom = X_CONFIG;
+ if (xf86Info.useDefaultFontPath) {
+ defaultFontPath = Xprintf("%s%s%s",
+ fileconf->file_fontpath,
+ *temp_path ? "," : "", temp_path);
+ must_copy = FALSE;
+ }
+ else
+ defaultFontPath = fileconf->file_fontpath;
}
- pathFrom = X_CMDLINE;
- }
- if (!fileconf) {
- /* xf86ValidateFontPath will write into it's arg, but defaultFontPath
- could be static, so we make a copy. */
- char *f = xnfalloc(strlen(defaultFontPath) + 1);
- f[0] = '\0';
- strcpy (f, defaultFontPath);
- defaultFontPath = xf86ValidateFontPath(f);
- xfree(f);
- } else {
- if (fileconf) {
- if (!fileconf->file_fontpath) {
- /* xf86ValidateFontPath will write into it's arg, but defaultFontPath
- could be static, so we make a copy. */
- char *f = xnfalloc(strlen(defaultFontPath) + 1);
- f[0] = '\0';
- strcpy (f, defaultFontPath);
- defaultFontPath = xf86ValidateFontPath(f);
- xfree(f);
- }
- }
- }
-
- /* If defaultFontPath is still empty, exit here */
-
- if (! *defaultFontPath)
- FatalError("No valid FontPath could be found.");
-
- /* make fontpath more readable in the logfiles */
- countDirs = 1;
- temp_path = defaultFontPath;
- while((temp_path = index(temp_path, ',')) != NULL) {
- countDirs++;
- temp_path++;
- }
- log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1);
- if(!log_buf) /* fallback to old method */
- xf86Msg(pathFrom, "FontPath set to \"%s\"\n", defaultFontPath);
- else {
- char *start, *end;
- int size;
+ else
+ pathFrom = X_DEFAULT;
+ temp_path = defaultFontPath ? defaultFontPath : "";
+
+ /* ensure defaultFontPath contains "built-ins" */
+ start = strstr(temp_path, "built-ins");
+ end = start + strlen("built-ins");
+ if (start == NULL ||
+ !((start == temp_path || start[-1] == ',') && (!*end || *end == ','))) {
+ defaultFontPath = Xprintf("%s%sbuilt-ins",
+ temp_path, *temp_path ? "," : "");
+ must_copy = FALSE;
+ }
+ /* xf86ValidateFontPath modifies its argument, but returns a copy of it. */
+ temp_path = must_copy ? XNFstrdup(defaultFontPath) : defaultFontPath;
+ defaultFontPath = xf86ValidateFontPath(temp_path);
+ free(temp_path);
+
+ /* make fontpath more readable in the logfiles */
+ countDirs = 1;
+ temp_path = defaultFontPath;
+ while ((temp_path = index(temp_path, ',')) != NULL) {
+ countDirs++;
+ temp_path++;
+ }
+
+ log_buf = xnfalloc(strlen(defaultFontPath) + (2 * countDirs) + 1);
temp_path = log_buf;
start = defaultFontPath;
while((end = index(start, ',')) != NULL) {
@@ -685,7 +648,6 @@ configFiles(XF86ConfFilesPtr fileconf)
strcpy(temp_path, start);
xf86Msg(pathFrom, "FontPath set to:\n%s\n", log_buf);
xfree(log_buf);
- }
if (fileconf && fileconf->file_inputdevs) {
diff --git a/include/dixfont.h b/include/dixfont.h
index 97bd712..e444a20 100644
--- a/include/dixfont.h
+++ b/include/dixfont.h
@@ -142,4 +142,6 @@
extern void SetGlyphCachingMode(int /*newmode*/);
+extern void BuiltinRegisterFpeFunctions(void);
+
#endif /* DIXFONT_H */
--
cgit v0.8.1-24-ge5fb

View File

@ -1,103 +0,0 @@
From b33905234025f005819c7e2acd653a3a0ecfeb82 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 9 Jan 2009 14:32:14 +1000
Subject: [PATCH] xfree86: always force RAW mode under linux.
The previous check for AEI on left us with the possibility that AEI is forced
off in the config, but devices are added through evdev nonetheless. A keyboard
added this way can CTRL+C the server. Even when we use kbd, we can set the
mode to RAW, so it's safer alround to to so.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
hw/xfree86/os-support/linux/lnx_init.c | 60 +++++++++++++------------------
1 files changed, 25 insertions(+), 35 deletions(-)
diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index 0ac97e8..17502a1 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -250,6 +250,8 @@ xf86OpenConsole(void)
if (!ShareVTs)
{
+ struct termios nTty;
+
#if defined(DO_OS_FONTRESTORE)
lnx_savefont();
#endif
@@ -282,37 +284,27 @@ xf86OpenConsole(void)
FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed %s\n",
strerror(errno));
- /* Set the keyboard to RAW mode. If we're using the keyboard
- * driver, the driver does it for us. If we have AEI on, then
- * we're expecting the devices to be added (i.e. evdev) and we
- * have to set it manually.
- */
- if (xf86Info.allowEmptyInput)
- {
- struct termios nTty;
-
- tcgetattr(xf86Info.consoleFd, &tty_attr);
- ioctl(xf86Info.consoleFd, KDGKBMODE, &tty_mode);
-
- if (ioctl(xf86Info.consoleFd, KDSKBMODE, K_RAW) < 0)
- FatalError("xf86OpenConsole: KDSKBMODE K_RAW failed %s\n",
- strerror(errno));
-
- nTty = tty_attr;
- nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP);
- nTty.c_oflag = 0;
- nTty.c_cflag = CREAD | CS8;
- nTty.c_lflag = 0;
- nTty.c_cc[VTIME]=0;
- nTty.c_cc[VMIN]=1;
- cfsetispeed(&nTty, 9600);
- cfsetospeed(&nTty, 9600);
- tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty);
-
- /* need to keep the buffer clean, else the kernel gets angry */
- console_handler = xf86AddGeneralHandler(xf86Info.consoleFd,
- drain_console, NULL);
- }
+ tcgetattr(xf86Info.consoleFd, &tty_attr);
+ ioctl(xf86Info.consoleFd, KDGKBMODE, &tty_mode);
+
+ if (ioctl(xf86Info.consoleFd, KDSKBMODE, K_RAW) < 0)
+ FatalError("xf86OpenConsole: KDSKBMODE K_RAW failed %s\n",
+ strerror(errno));
+
+ nTty = tty_attr;
+ nTty.c_iflag = (IGNPAR | IGNBRK) & (~PARMRK) & (~ISTRIP);
+ nTty.c_oflag = 0;
+ nTty.c_cflag = CREAD | CS8;
+ nTty.c_lflag = 0;
+ nTty.c_cc[VTIME]=0;
+ nTty.c_cc[VMIN]=1;
+ cfsetispeed(&nTty, 9600);
+ cfsetospeed(&nTty, 9600);
+ tcsetattr(xf86Info.consoleFd, TCSANOW, &nTty);
+
+ /* need to keep the buffer clean, else the kernel gets angry */
+ console_handler = xf86AddGeneralHandler(xf86Info.consoleFd,
+ drain_console, NULL);
/* we really should have a InitOSInputDevices() function instead
* of Init?$#*&Device(). So I just place it here */
@@ -376,10 +368,8 @@ xf86CloseConsole(void)
xf86Msg(X_WARNING, "xf86CloseConsole: KDSETMODE failed: %s\n",
strerror(errno));
- if (xf86Info.allowEmptyInput) {
- ioctl(xf86Info.consoleFd, KDSKBMODE, tty_mode);
- tcsetattr(xf86Info.consoleFd, TCSANOW, &tty_attr);
- }
+ ioctl(xf86Info.consoleFd, KDSKBMODE, tty_mode);
+ tcsetattr(xf86Info.consoleFd, TCSANOW, &tty_attr);
if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0)
xf86Msg(X_WARNING, "xf86CloseConsole: VT_GETMODE failed: %s\n",
--
1.6.0.6

View File

@ -1,34 +0,0 @@
From 0d4beba90ad82998f123f05dc0a03003f031b6f0 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@redhat.com>
Date: Fri, 16 Jan 2009 20:38:57 +1000
Subject: [PATCH] mi: force the paired kbd device before CopyKeyClass. (#19574)
Some multi-media keyboards send the key events for multimedia keys through the
device file used by the mouse. Sending a key event through the VCP however
will fail. The VCP doesn't have a key class so the server crashes or (with an
appropriate fix) the event is simply swallowed.
Thus, for key events if the master does not have a key class, get the device
paired with the master (i.e. the VCK) before processing the event any further.
X.Org Bug 19574 <http://bugs.freedesktop.org/show_bug.cgi?id=19574>
---
mi/mieq.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/mi/mieq.c b/mi/mieq.c
index 226caa6..213ad5b 100644
--- a/mi/mieq.c
+++ b/mi/mieq.c
@@ -451,7 +451,11 @@ mieqProcessInputEvents(void)
is transferred. */
if (event->u.u.type == DeviceKeyPress ||
event->u.u.type == DeviceKeyRelease)
+ {
+ if (!master->key)
+ master = GetPairedDevice(master);
CopyKeyClass(dev, master);
+ }
CopyGetMasterEvent(master, dev, event, masterEvents, nevents);
}

View File

@ -1,67 +0,0 @@
From 38eb087aba509d85bbbf0dabf501201fd6af1a32 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 17 Feb 2009 12:59:16 -0500
Subject: [PATCH] RANDR: Fail softly on GetPanning if the screen can't do it.
Just return a zeroed-out reply in that case. This is unambiguous, and
distinguishes "you didn't name a CRTC" from "you named a CRTC that can't
do panning".
---
randr/rrcrtc.c | 33 +++++++++++++++++----------------
1 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 2160834..7b724ae 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -1038,30 +1038,31 @@ ProcRRGetPanning (ClientPtr client)
pScreen = crtc->pScreen;
pScrPriv = rrGetScrPriv(pScreen);
- if (!pScrPriv || !pScrPriv->rrGetPanning)
+ if (!pScrPriv)
return RRErrorBase + BadRRCrtc;
+ memset(&rep, 0, sizeof(rep));
rep.type = X_Reply;
rep.status = RRSetConfigSuccess;
rep.sequenceNumber = client->sequence;
rep.length = 1;
rep.timestamp = pScrPriv->lastSetTime.milliseconds;
- if (! pScrPriv->rrGetPanning (pScreen, crtc, &total, &tracking, border))
- return RRErrorBase + BadRRCrtc;
-
- rep.left = total.x1;
- rep.top = total.y1;
- rep.width = total.x2 - total.x1;
- rep.height = total.y2 - total.y1;
- rep.track_left = tracking.x1;
- rep.track_top = tracking.y1;
- rep.track_width = tracking.x2 - tracking.x1;
- rep.track_height = tracking.y2 - tracking.y1;
- rep.border_left = border[0];
- rep.border_top = border[1];
- rep.border_right = border[2];
- rep.border_bottom = border[3];
+ if (pScrPriv->rrGetPanning &&
+ pScrPriv->rrGetPanning (pScreen, crtc, &total, &tracking, border)) {
+ rep.left = total.x1;
+ rep.top = total.y1;
+ rep.width = total.x2 - total.x1;
+ rep.height = total.y2 - total.y1;
+ rep.track_left = tracking.x1;
+ rep.track_top = tracking.y1;
+ rep.track_width = tracking.x2 - tracking.x1;
+ rep.track_height = tracking.y2 - tracking.y1;
+ rep.border_left = border[0];
+ rep.border_top = border[1];
+ rep.border_right = border[2];
+ rep.border_bottom = border[3];
+ }
if (client->swapped) {
swaps(&rep.sequenceNumber, n);
--
1.6.1.3

View File

@ -1,39 +0,0 @@
From d06c8a08a432c042748b055638eb7a2a1cc453ea Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 2 Feb 2009 10:20:13 +1000
Subject: [PATCH] mi: don't call UpdateSpriteForScreen if we have Xinerama enabled. #18668
In Xinerama all windows hang off the first root window. Crossing the screens
must not reset the spriteTrace, otherwise picking fails and events are sent to
the root window.
X.Org Bug 18668 <http://bugs.freedesktop.org/show_bug.cgi?id=18668>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
mi/mipointer.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/mi/mipointer.c b/mi/mipointer.c
index d520281..e3a4656 100644
--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -332,7 +332,14 @@ miPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
pPointer->pScreen = pScreen;
}
- if (changedScreen)
+ /* Don't call USFS if we use Xinerama, otherwise the root window is
+ * updated to the second screen, and we never receive any events.
+ * (FDO bug #18668) */
+ if (changedScreen
+#ifdef PANORAMIX
+ && noPanoramiXExtension
+#endif
+ )
UpdateSpriteForScreen (pDev, pScreen) ;
}
--
1.6.0.6

View File

@ -1,35 +0,0 @@
From 97b23d4a932a493c5f6dc470925a67ad684e4f0f Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 13 Feb 2009 09:56:22 +1000
Subject: [PATCH] xkb: Fix wrong colour reference in XKB geometry copying. #20081
base_color and label_color need to reference the color in the destination, not
in the source.
X.Org Bug 20081 <http://bugs.freedesktop.org/show_bug.cgi?id=20081>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
---
xkb/xkbUtils.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index aa63b35..9a1edc9 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -1955,9 +1955,9 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
strcpy(dst->geom->label_font, src->geom->label_font);
i = XkbGeomColorIndex(src->geom, src->geom->label_color);
- dst->geom->label_color = &(src->geom->colors[i]);
+ dst->geom->label_color = &(dst->geom->colors[i]);
i = XkbGeomColorIndex(src->geom, src->geom->base_color);
- dst->geom->base_color = &(src->geom->colors[i]);
+ dst->geom->base_color = &(dst->geom->colors[i]);
}
else {
if (dst->geom->label_font) {
--
1.6.0.6