Last-Update: 2013-09-19
-Index: xorg-server-1.14.2.901/configure.ac
-===================================================================
---- xorg-server-1.14.2.901.orig/configure.ac 2013-09-19 11:43:53.948797077 -0400
-+++ xorg-server-1.14.2.901/configure.ac 2013-09-19 11:43:53.944797077 -0400
-@@ -517,9 +517,9 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -514,9 +514,9 @@ AC_MSG_RESULT([$FONTPATH])
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
[ XKBPATH="$withval" ],
[ XKBPATH="${datadir}/X11/xkb" ])
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
[Keyboard ruleset (default: base/evdev)]),
[ XKB_DFLT_RULES="$withval" ],
-@@ -1225,7 +1225,7 @@
+@@ -1415,7 +1415,7 @@ AC_DEFINE_DIR(XKB_BIN_DIRECTORY, XKB_BIN
dnl Make sure XKM_OUTPUT_DIR is an absolute path
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
fi
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
-Index: xorg-server-1.14.2.901/xkb/README.compiled
-===================================================================
---- xorg-server-1.14.2.901.orig/xkb/README.compiled 2013-09-19 11:43:53.948797077 -0400
-+++ xorg-server-1.14.2.901/xkb/README.compiled 2013-09-19 11:43:53.944797077 -0400
-@@ -4,10 +4,10 @@
+--- a/xkb/README.compiled
++++ b/xkb/README.compiled
+@@ -4,10 +4,10 @@ current keymap and/or any scratch keymap
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time. The default keymap for any server is usually stored in:
Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.
-Index: xorg-server-1.14.2.901/xkb/ddxLoad.c
-===================================================================
---- xorg-server-1.14.2.901.orig/xkb/ddxLoad.c 2013-09-19 11:43:53.948797077 -0400
-+++ xorg-server-1.14.2.901/xkb/ddxLoad.c 2013-09-19 11:51:04.744800715 -0400
-@@ -30,6 +30,12 @@
+--- a/xkb/ddxLoad.c
++++ b/xkb/ddxLoad.c
+@@ -30,6 +30,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include <xkb-config.h>
#include <stdio.h>
#include <ctype.h>
#include <X11/X.h>
-@@ -43,20 +49,9 @@
+@@ -43,20 +49,9 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define XKBSRV_NEED_FILE_FUNCS
#include <xkbsrv.h>
#include <X11/extensions/XI.h>
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
#define ERROR_PREFIX "\"> \""
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
-@@ -69,35 +64,87 @@
+@@ -69,35 +64,87 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#endif
static void
const char *emptystring = "";
char *xkbbasedirflag = NULL;
-@@ -108,14 +155,68 @@
+@@ -108,14 +155,68 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk
/* WIN32 has no popen. The input must be stored in a file which is
used as input for xkbcomp. xkbcomp does not read from stdin. */
char tmpname[PATH_MAX];
#ifdef WIN32
strcpy(tmpname, Win32TempDir());
-@@ -139,15 +240,21 @@
+@@ -139,15 +240,21 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk
}
}
buf = NULL;
free(xkbbasedirflag);
-@@ -158,6 +265,11 @@
+@@ -158,6 +265,11 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk
return FALSE;
}
#ifndef WIN32
out = Popen(buf, "w");
#else
-@@ -165,32 +277,43 @@
+@@ -165,32 +277,43 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk
#endif
if (out != NULL) {
#ifdef WIN32
/* remove the temporary file */
unlink(tmpname);
-@@ -205,8 +328,17 @@
+@@ -205,8 +328,17 @@ XkbDDXCompileKeymapByNames(XkbDescPtr xk
}
if (nameRtrn)
nameRtrn[0] = '\0';
}
static FILE *
-@@ -217,7 +349,7 @@
+@@ -217,7 +349,7 @@ XkbDDXOpenConfigFile(char *mapName, char
buf[0] = '\0';
if (mapName != NULL) {
if ((XkbBaseDirectory != NULL) && (xkm_output_dir[0] != '/')
#ifdef WIN32
&& (!isalpha(xkm_output_dir[0]) || xkm_output_dir[1] != ':')
-@@ -256,6 +388,7 @@
+@@ -256,6 +388,7 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key
FILE *file;
char fileName[PATH_MAX];
unsigned missing;
*xkbRtrn = NULL;
if ((keybd == NULL) || (keybd->key == NULL) ||
-@@ -271,7 +404,8 @@
+@@ -271,7 +404,8 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key
return 0;
}
else if (!XkbDDXCompileKeymapByNames(xkb, names, want, need,
LogMessage(X_ERROR, "XKB: Couldn't compile keymap\n");
return 0;
}
-@@ -293,7 +427,8 @@
+@@ -293,7 +427,8 @@ XkbDDXLoadKeymapByNames(DeviceIntPtr key
(*xkbRtrn)->defined);
}
fclose(file);