{ 0, 0, 275, NULL, NULL, NULL, NULL, Label, warning },
{ 0, 0, 275, NULL, NULL, NULL, NULL, Label, "Variants marked with * can only be played\nwith legality testing off"},
{ 0, SAME_ROW, 0, NULL, NULL, NULL, NULL, Break, ""},
-{ VariantFairy, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("fairy")},
+{ VariantASEAN, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_("ASEAN")},
{ VariantGreat, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("Great Shatranj (10x8)")},
{ VariantSChess, 0, 135, NULL, (void*) &Pick, "#FFBFBF", NULL, Button, N_("Seirawan")},
{ VariantFalcon, SAME_ROW, 135, NULL, (void*) &Pick, "#BFBFFF", NULL, Button, N_("falcon (10x8)")},
{ VariantShogi, SAME_ROW, 135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("shogi (9x9)")},
{ VariantSpartan, 0, 135, NULL, (void*) &Pick, "#FF0000", NULL, Button, N_("Spartan")},
{ VariantXiangqi, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("xiangqi (9x10)")},
-{ VariantNormal, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment
+{ VariantFairy, 0, 135, NULL, (void*) &Pick, "#BFBFBF", NULL, Button, N_("fairy")},
+//{ VariantNormal, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment
{ VariantCourier, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFBF", NULL, Button, N_("courier (12x8)")},
{ 0, NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" }
};
appData.pieceToCharTable = NULL;
appData.pieceNickNames = "";
appData.colorNickNames = "";
- Reset(True, True);
PopDown(TransientDlg);
+ Reset(True, True);
return;
}
case -1:
val = NextInHistory();
}
- SetWidgetText(&boxOptions[0], val ? val : "", InputBoxDlg);
+ SetWidgetText(&boxOptions[0], val = val ? val : "", InputBoxDlg);
+ SetInsertPos(&boxOptions[0], strlen(val));
}
static void
void
BoxAutoPopUp (char *buf)
{
+ if(!appData.autoBox) return;
if(appData.icsActive) { // text typed to board in ICS mode: divert to ICS input box
- if(!appData.autoBox) return;
if(DialogExists(InputBoxDlg)) { // box already exists: append to current contents
char *p, newText[MSG_SIZ];
GetWidgetText(&boxOptions[0], &p);
void
ChatProc ()
{
- if(GenericPopUp(chatOptions, _("Chat box"), ChatDlg, BoardWindow, NONMODAL, 0))
+ if(GenericPopUp(chatOptions, _("Chat box"), ChatDlg, BoardWindow, NONMODAL, appData.topLevel))
AddHandler(&chatOptions[0], ChatDlg, 2), AddHandler(&chatOptions[6], ChatDlg, 2); // treats return as OK
MarkMenu("View.OpenChatWindow", ChatDlg);
}
{
fromX = fromY = -1;
ClearHighlights();
- DrawPosition(FALSE, NULL);
+ DrawPosition(TRUE, NULL); // selective redraw would miss the from-square of the rejected move, displayed empty after drag, but not marked damaged!
if (appData.debugMode || appData.matchMode) {
fprintf(stderr, "%s: %s\n", programName, message);
}
ASSIGN(fileList[filePtr], s); filePtr++;
}
}
- if(filePtr == MAXFILES-2) { ASSIGN(fileList[filePtr], _("\177 next page")); filePtr++; }
+ if(filePtr == MAXFILES-2) { ASSIGN(fileList[filePtr], _(" next page")); filePtr++; }
FREE(folderList[folderPtr]); folderList[folderPtr] = NULL;
FREE(fileList[filePtr]); fileList[filePtr] = NULL;
closedir(dir);
extFlag = 0; qsort((void*)folderList, folderPtr, sizeof(char*), &Comp);
- extFlag = byExtension; qsort((void*)fileList, filePtr, sizeof(char*), &Comp);
+ extFlag = byExtension; qsort((void*)fileList, filePtr < MAXFILES-2 ? filePtr : MAXFILES-2, sizeof(char*), &Comp);
}
void
{
if(byExtension == (n == 4)) return;
extFlag = byExtension = (n == 4);
- qsort((void*)fileList, filePtr, sizeof(char*), &Comp);
+ qsort((void*)fileList, filePtr < MAXFILES-2 ? filePtr : MAXFILES-2, sizeof(char*), &Comp);
LoadListBox(&browseOptions[6], "", -1, -1);
}
void
FileSelProc (int n, int sel)
{
- if(sel<0) return;
+ if(sel < 0 || fileList[sel] == NULL) return;
if(sel == MAXFILES-2) { pageStart = cnt; Refresh(-1); return; }
ASSIGN(fileName, fileList[sel]);
if(BrowseOK(0)) PopDown(BrowserDlg);