X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxboard.c;h=95229f0cee453c21718dde4b9e5fb0d207e1f827;hb=85164e1c15746506744f2ff807d7f39228a8b2f4;hp=d8fcbaac650520fb4d43c8f1ea380f49b796ae5e;hpb=465713a168ea9070579738f9e4313f876da74875;p=xboard.git diff --git a/gtk/xboard.c b/gtk/xboard.c index d8fcbaa..95229f0 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -2228,13 +2228,20 @@ static void LoadLogo (ChessProgramState *cps, int n, Boolean ics) { char buf[MSG_SIZ], *logoName = buf; + FILE *f; if(appData.logo[n][0]) { logoName = appData.logo[n]; } else if(appData.autoLogo) { if(ics) { // [HGM] logo: in ICS mode second can be used for ICS sprintf(buf, "%s/%s.png", appData.logoDir, appData.icsHost); - } else if(appData.directory[n] && appData.directory[n][0]) { - sprintf(buf, "%s/%s.png", appData.logoDir, cps->tidy); + } else { // engine; look in engine-dir (if any) first + snprintf(buf, MDG_SIZ, "%s/logo.png", appData.directory[n]); + if(appData.directory[n] && appData.directory[n][0] + && strcmp(appData.directory[n], ".") && (f = fopen(buf, "r")) ) + fclose(f); + else // no engine dir or no logo.png in it: look in logo dir + if(appData.logoDir && appData.logoDir[0]) + sprintf(buf, "%s/%s.png", appData.logoDir, cps->tidy); } } if(logoName[0])