diff options
author | Jamey Sharp <jamey@minilop.net> | 2017-02-16 08:19:40 +0000 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2017-04-10 16:03:10 +0200 |
commit | f743f9f743362c891f049a514cdcf3d39546194b (patch) | |
tree | 3d6905c29185d6c183eba8766c09e459a1af8170 /nx-X11/programs/Xserver/dix | |
parent | 4768662b03067afbc122683d234205716ba3606e (diff) | |
download | nx-libs-f743f9f743362c891f049a514cdcf3d39546194b.tar.gz nx-libs-f743f9f743362c891f049a514cdcf3d39546194b.tar.bz2 nx-libs-f743f9f743362c891f049a514cdcf3d39546194b.zip |
SetFontPath: set client->errorValue on failure.
Backported from X.org:
commit 21ceae9002c6364deb3d074cf2da7d3864cf6879
Author: Jamey Sharp <jamey@minilop.net>
Date: Tue May 11 10:24:00 2010 -0700
SetFontPath: set client->errorValue on failure.
Previously the callers were only setting errorValue on Success, when
it's ignored, and leaving it alone on failure, when it's sent to the
client.
Since SetFontPath takes the ClientPtr, let it set client->errorValue
instead of letting the callers continue to get it wrong.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Diffstat (limited to 'nx-X11/programs/Xserver/dix')
-rw-r--r-- | nx-X11/programs/Xserver/dix/dispatch.c | 7 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/dix/dixfonts.c | 7 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/dix/main.c | 2 |
3 files changed, 6 insertions, 10 deletions
diff --git a/nx-X11/programs/Xserver/dix/dispatch.c b/nx-X11/programs/Xserver/dix/dispatch.c index 8294a583a..1016e6eae 100644 --- a/nx-X11/programs/Xserver/dix/dispatch.c +++ b/nx-X11/programs/Xserver/dix/dispatch.c @@ -3364,7 +3364,6 @@ ProcSetFontPath(register ClientPtr client) unsigned long nbytes, total; long nfonts; int n, result; - int error; REQUEST(xSetFontPathReq); REQUEST_AT_LEAST_SIZE(xSetFontPathReq); @@ -3382,13 +3381,9 @@ ProcSetFontPath(register ClientPtr client) } if (total >= 4) return(BadLength); - result = SetFontPath(client, stuff->nFonts, (unsigned char *)&stuff[1], - &error); + result = SetFontPath(client, stuff->nFonts, (unsigned char *)&stuff[1]); if (!result) - { result = client->noClientException; - client->errorValue = error; - } return (result); } diff --git a/nx-X11/programs/Xserver/dix/dixfonts.c b/nx-X11/programs/Xserver/dix/dixfonts.c index e43af3bbb..18f2e7877 100644 --- a/nx-X11/programs/Xserver/dix/dixfonts.c +++ b/nx-X11/programs/Xserver/dix/dixfonts.c @@ -1805,9 +1805,8 @@ bail: return FontToXError(err); } -/* XXX -- do we need to pass error down to each renderer? */ int -SetFontPath(ClientPtr client, int npaths, unsigned char *paths, int *error) +SetFontPath(ClientPtr client, int npaths, unsigned char *paths) { int err = Success; @@ -1815,7 +1814,9 @@ SetFontPath(ClientPtr client, int npaths, unsigned char *paths, int *error) if (SetDefaultFontPath(defaultFontPath) != Success) return BadValue; } else { - err = SetFontPathElements(npaths, paths, error, FALSE); + int bad; + err = SetFontPathElements(npaths, paths, &bad, FALSE); + client->errorValue = bad; } return err; } diff --git a/nx-X11/programs/Xserver/dix/main.c b/nx-X11/programs/Xserver/dix/main.c index 745ca14e8..384b6f9b6 100644 --- a/nx-X11/programs/Xserver/dix/main.c +++ b/nx-X11/programs/Xserver/dix/main.c @@ -295,7 +295,7 @@ main(int argc, char *argv[], char *envp[]) ReserveClientIds(serverClient); if (loadableFonts) { - SetFontPath(serverClient, 0, (unsigned char *)defaultFontPath, &error); + SetFontPath(serverClient, 0, (unsigned char *)defaultFontPath); } else { if (SetDefaultFontPath(defaultFontPath) != Success) ErrorF("failed to set default font path '%s'\n", |