On Mon, Jan 30, 2017 at 11:02:05 +0000, Roy Marples wrote: > On 30/01/2017 04:22, [email protected] wrote: > > I've applied a patch to audio/moc. It works on my end now. > > It was attempting set_escdelay (25); very early, before setting > > up a window. > > > > On nbcurses it was:_cursesi_screen->ESCDELAY = escdelay; > > which was a null deref. > > > > for ncurses, it was returning an error, but it was ignoring it. > > We have a lot of similar functions which operate without checking the > terminal has been setup or not. > It *IS* a programming error, so it's probably best to use an assert > rather than simply returning ERR. > > Anyone have any stronger opinions on this before I add asserts > liberally to our curses?
It was my impression that the traditional interface was for a program to just set global ESCDELAY variable directly and that set_escdelay() was a wrapper function intended to provide internal locking for multithreaded programs. I.e. it's not a setter that hides where and how the value is stored. >From a quick look at the code in current it looks like you've broken this for existing programs that just set the ESCDELAY variable directly, since the new code ignores the variable. -uwe
