* Tue Jan 27 2009 Dave Airlie <airlied@redhat.com> 1.5.99.901-4
- xserver-1.5.99.3-fix-core-fonts.patch (#478999)
This commit is contained in:
parent
7068bb5990
commit
6f00a812c2
@ -19,7 +19,7 @@
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.5.99.901
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
Group: User Interface/X
|
||||
@ -76,6 +76,8 @@ Patch6004: xserver-1.5.99.3-dmx-xcalloc.patch
|
||||
# hack around broken mtrr.h. drop me as soon as possible.
|
||||
Patch6007: xserver-1.5.99.3-broken-mtrr-header.patch
|
||||
|
||||
Patch6008: xserver-1.5.99.3-fix-core-fonts.patch
|
||||
|
||||
%define moduledir %{_libdir}/xorg/modules
|
||||
%define drimoduledir %{_libdir}/dri
|
||||
%define sdkdir %{_includedir}/xorg
|
||||
@ -492,6 +494,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Jan 27 2009 Dave Airlie <airlied@redhat.com> 1.5.99.901-4
|
||||
- xserver-1.5.99.3-fix-core-fonts.patch (#478999)
|
||||
|
||||
* Mon Jan 26 2009 Adam Tkac <atkac redhat com> 1.5.99.901-3
|
||||
- improved xserver-1.5.99.3-broken-mtrr-header.patch to unbreak mtrr.h again
|
||||
|
||||
|
230
xserver-1.5.99.3-fix-core-fonts.patch
Normal file
230
xserver-1.5.99.3-fix-core-fonts.patch
Normal file
@ -0,0 +1,230 @@
|
||||
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
|
Loading…
Reference in New Issue
Block a user