X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=42e6379d1e2b3319c570cbb42e8b7ef8527467e7;hb=ac9d48038a86a672579abbcbbc53b17e2515ba13;hp=721b2a291bb2b950bd08f9d8c87484933dc9475b;hpb=54fc63f1e8ea41966f47d2b60b616db0a9c5010d;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 721b2a2..42e6379 100644 --- a/dialogs.c +++ b/dialogs.c @@ -753,12 +753,13 @@ static void DefColor P((int n)); static void AdjustColor P((int i)); static char oldPngDir[MSG_SIZ]; +static char oldSvgDir[MSG_SIZ]; static int BoardOptionsOK (int n) { if(appData.overrideLineGap >= 0) lineGap = appData.overrideLineGap; else lineGap = defaultLineGap; - InitDrawingParams(strcmp(oldPngDir, appData.pngDirectory)); + InitDrawingParams(strcmp(oldPngDir, appData.pngDirectory) || strcmp(oldSvgDir, appData.svgDirectory)); InitDrawingSizes(-1, 0); DrawPosition(True, NULL); return 1; @@ -813,6 +814,7 @@ static Option boardOptions[] = { { 0, 0, 0, NULL, (void*) &appData.liteBackTextureFile, ".xpm", NULL, FileName, N_("Light-Squares Texture File:") }, { 0, 0, 0, NULL, (void*) &appData.darkBackTextureFile, ".xpm", NULL, FileName, N_("Dark-Squares Texture File:") }, { 0, 0, 0, NULL, (void*) &appData.pngDirectory, "", NULL, PathName, N_("Directory with PNG Pieces:") }, +{ 0, 0, 0, NULL, (void*) &appData.svgDirectory, "", NULL, PathName, N_("Directory with SVG Pieces:") }, { 0, 0, 0, NULL, (void*) &BoardOptionsOK, "", NULL, EndMark , "" } }; @@ -862,6 +864,7 @@ void BoardOptionsProc () { strncpy(oldPngDir, appData.pngDirectory, MSG_SIZ-1); // to see if it changed + strncpy(oldSvgDir, appData.svgDirectory, MSG_SIZ-1); // to see if it changed GenericPopUp(boardOptions, _("Board Options"), TransientDlg, BoardWindow, MODAL, 0); } @@ -1931,7 +1934,7 @@ static int pmFromX = -1, pmFromY = -1; void *userLogo; void -DisplayLogos (void *w1, void *w2) +DisplayLogos (Option *w1, Option *w2) { void *whiteLogo = first.programLogo, *blackLogo = second.programLogo; if(appData.autoLogo) { @@ -2018,14 +2021,14 @@ Option mainOptions[] = { // description of main window in terms of generic dialo Option * LogoW (int n, int x, int y) { - if(n == 10) DisplayLogos(mainOptions[W_WHITE-1].handle, NULL); + if(n == 10) DisplayLogos(&mainOptions[W_WHITE-1], NULL); return NULL; } Option * LogoB (int n, int x, int y) { - if(n == 10) DisplayLogos(NULL, mainOptions[W_BLACK+1].handle); + if(n == 10) DisplayLogos(NULL, &mainOptions[W_BLACK+1]); return NULL; } @@ -2073,6 +2076,7 @@ Exp (int n, int x, int y) case 10: sizing = (oldW != x || oldH != y); oldW = x; oldH = y; + InitDrawingHandle(mainOptions + W_BOARD); if(sizing) return NULL; // don't redraw while sizing DrawPosition(True, NULL); default: