diff options
Diffstat (limited to 'contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch')
-rw-r--r-- | contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch b/contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch new file mode 100644 index 00000000..f7f358b4 --- /dev/null +++ b/contrib/xorg/xorg-7.5-patches/0001-Add-xkbcompdir-param.patch @@ -0,0 +1,46 @@ +From 5e6e99eaef3ca346c78a3e520ed58ec8b8100b41 Mon Sep 17 00:00:00 2001 +From: Adam Tkac <atkac@redhat.com> +Date: Thu, 2 Sep 2010 17:24:38 +0200 +Subject: [PATCH] Add -xkbcompdir parameter to modify "xkbcomp" path from commandline. + +Signed-off-by: Adam Tkac <atkac@redhat.com> +--- + xkb/xkbInit.c | 21 +++++++++++++++++++++ + 1 files changed, 21 insertions(+), 0 deletions(-) + +diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c +index fbf8f14..29fb33e 100644 +--- a/xkb/xkbInit.c ++++ b/xkb/xkbInit.c +@@ -742,7 +742,28 @@ XkbProcessArguments(int argc,char *argv[],int i) + } + } + return j; ++ } else if (strncmp(argv[i], "-xkbcompdir", 11)==0) { ++ if (++i < argc) { ++#if !defined(WIN32) && !defined(__CYGWIN__) ++ if (getuid() != geteuid()) { ++ LogMessage(X_WARNING, "-xkbdir is not available for setuid X servers\n"); ++ return -1; ++ } else ++#endif ++ { ++ if (strlen(argv[i]) < PATH_MAX) { ++ XkbBinDirectory = argv[i]; ++ return 2; ++ } else { ++ LogMessage(X_ERROR, "-xkbcompdir pathname too long\n"); ++ return -1; ++ } ++ } ++ } else { ++ return -1; ++ } + } ++ + if ((strcmp(argv[i], "-ardelay") == 0) || + (strcmp (argv[i], "-ar1") == 0)) { /* -ardelay int */ + if (++i >= argc) UseMsg (); +-- +1.7.2.3 + |