X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=args.h;h=f52404fac90878c5588c342a46c6fbcdd700215b;hb=60d1791e93b0e2267615ec378f073d5f8564bd82;hp=29308b5f162a4d073d80c9789f36c4c11c4f916f;hpb=b0968ab4c53d5f5adacbb9393b1aaf3c96979c5b;p=xboard.git diff --git a/args.h b/args.h index 29308b5..f52404f 100644 --- a/args.h +++ b/args.h @@ -913,11 +913,16 @@ ParseSettingsFile(char *name, char **addr) if (ok) { f = fopen(fullname, "r"); #ifdef DATADIR - if(f == NULL && *fullname != '/') { // when a relative name did not work + if(f == NULL && *fullname != '/' && !addr) { // when a relative name did not work char buf[MSG_SIZ]; - snprintf(buf, MSG_SIZ, "%s/themes/conf", DATADIR); - MySearchPath(buf, name, fullname); // also look in standard place + snprintf(buf, MSG_SIZ, "~/.xboard/themes/conf/%s", name); + MySearchPath(installDir, buf, fullname); // first look in user's own files f = fopen(fullname, "r"); + if(f == NULL) { + snprintf(buf, MSG_SIZ, "%s/themes/conf", DATADIR); + MySearchPath(buf, name, fullname); // also look in standard place + f = fopen(fullname, "r"); + } } #endif if (f != NULL) {