fix reported crash of TTY_PERM_INVENT segfaulting
Options processing can be early, even before ttyDisplay is allocated. If we find that TTY_PERM_INVENT initialization is happening too early, just set a marker (iflags.perm_invent_pending) to try again a bit later. The changes in win/share are just to be able to sucessfully reproduce the original issue on Windows. It was easily reproduced on Unix, just by building with TTY_PERM_INVENT in include/config.h and setting OPTIONS=perm_invent in config file.
This commit is contained in:
@@ -6149,6 +6149,12 @@ sync_perminvent(void)
|
||||
|| in_perm_invent_toggled) {
|
||||
wri = ctrl_nhwindow(WIN_INVEN, request_settings, &wri_info);
|
||||
if (wri != 0) {
|
||||
if ((wri->tocore.tocore_flags & (too_early)) != 0) {
|
||||
/* don't be too noisy about this as it's really
|
||||
* a startup timing issue. Just set a marker. */
|
||||
iflags.perm_invent_pending = TRUE;
|
||||
return;
|
||||
}
|
||||
if ((wri->tocore.tocore_flags & (too_small | prohibited))
|
||||
!= 0) {
|
||||
/* sizes aren't good enough */
|
||||
|
||||
Reference in New Issue
Block a user