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
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);