Issue 1266: segfault in curses when calling redrawwin() before refresh() (original) (raw)
What platform are you on? I can reproduce this with 2.5.1+ and trunk on Ubuntu. I can reproduce with a trivial C program that does the same thing. This could be a bug in the curses implementation. Or it could be misuse of the API. I don't know enough to suggest which is the case.
The C program is:
#include <curses.h>
int main(int argc, char**argv) { WINDOW *win = initscr(); WINDOW *win2 = newwin(50, 50, 50, 50); redrawwin(win2); return 0; }
Perhaps a bug should be filed against curses.
The C program does crash, but newwin() is returning NULL and the code should really be checking for this case. When I try the Python script with 2.5-maint and 2.6-trunk, I get the error: amk@amk:~/source/p/25$ ./python.exe ../python/curses-01.py Traceback (most recent call last): File "../python/curses-01.py", line 8, in curses.wrapper(foobar) File "/Users/amk/source/p/25/Lib/curses/wrapper.py", line 44, in wrapper return func(stdscr, *args, **kwds) File "../python/curses-01.py", line 4, in foobar winmain = curses.newwin(50,50,50,50) _curses.error: curses function returned NULL
I removed the import of the 'readline' module because I don't have it on my Mac, but that seems unlikely to make a difference.