X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=773a30533d476724ee678a96c55e1bb14eddf312;hb=177f117f792a71a016c3d13e6c45161d0f45dd70;hp=ebdd93cb4aa889ede129be21191ddbf435015937;hpb=faa0fea4cf9cc9de2d73add4695af3ed06517787;p=xboard.git diff --git a/dialogs.c b/dialogs.c index ebdd93c..773a305 100644 --- a/dialogs.c +++ b/dialogs.c @@ -439,12 +439,6 @@ static Option variantDescriptors[] = { { 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.NrRanks, "", NULL, Spin, N_("Number of Board Ranks:") }, { 0, -1, BOARD_FILES, NULL, (void*) &appData.NrFiles, "", NULL, Spin, N_("Number of Board Files:") }, { 0, -1, BOARD_RANKS-1, NULL, (void*) &appData.holdingsSize, "", NULL, Spin, N_("Holdings Size:") }, -{ 0, 0, 0, NULL, NULL, NULL, NULL, Label, - N_("WARNING: variants with un-orthodox\n" - "pieces only have built-in bitmaps\n" - "for -boardSize middling, bulky and\n" - "petite, and substitute king or amazon\n" - "for missing bitmaps. (See manual.)")}, { 0, NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" } }; @@ -752,13 +746,13 @@ SoundOptionsProc () static void DefColor P((int n)); static void AdjustColor P((int i)); -static char oldPngDir[MSG_SIZ]; +static char oldPieceDir[MSG_SIZ]; static int BoardOptionsOK (int n) { if(appData.overrideLineGap >= 0) lineGap = appData.overrideLineGap; else lineGap = defaultLineGap; - InitDrawingParams(strcmp(oldPngDir, appData.pngDirectory)); + InitDrawingParams(strcmp(oldPieceDir, appData.pieceDirectory)); InitDrawingSizes(-1, 0); DrawPosition(True, NULL); return 1; @@ -812,7 +806,8 @@ static Option boardOptions[] = { { 0, 0, 0, NULL, (void*) &appData.useBitmaps, "", NULL, CheckBox, N_("Use Board Textures") }, { 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.trueColors, "", NULL, CheckBox, N_("Use external piece bitmaps with their own colors") }, +{ 0, 0, 0, NULL, (void*) &appData.pieceDirectory, "", NULL, PathName, N_("Directory with Pieces Images:") }, { 0, 0, 0, NULL, (void*) &BoardOptionsOK, "", NULL, EndMark , "" } }; @@ -861,7 +856,7 @@ AdjustColor (int i) void BoardOptionsProc () { - strncpy(oldPngDir, appData.pngDirectory, MSG_SIZ-1); // to see if it changed + strncpy(oldPieceDir, appData.pieceDirectory, MSG_SIZ-1); // to see if it changed GenericPopUp(boardOptions, _("Board Options"), TransientDlg, BoardWindow, MODAL, 0); } @@ -1824,10 +1819,12 @@ DisplayFatalError (String message, int error, int status) snprintf(buf, sizeof(buf), "%s: %s", message, strerror(error)); message = buf; } - if (appData.popupExitMessage && boardWidget && XtIsRealized(boardWidget)) { - ErrorPopUp(status ? _("Fatal Error") : _("Exiting"), message, TRUE); - } else { - ExitEvent(status); + if(mainOptions[W_BOARD].handle) { + if (appData.popupExitMessage) { + ErrorPopUp(status ? _("Fatal Error") : _("Exiting"), message, TRUE); + } else { + ExitEvent(status); + } } } @@ -2073,6 +2070,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: