[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lynx-dev Crash in popup menu
From: |
Thomas Dickey |
Subject: |
Re: lynx-dev Crash in popup menu |
Date: |
Sun, 23 Jul 2000 18:49:31 -0400 |
User-agent: |
Mutt/1.2i |
On Sun, Jul 23, 2000 at 04:25:15PM -0600, address@hidden wrote:
> (gdb)
>
> At ../../lynx2-8-4/src/LYStrings.c:720 is:
>
> #ifndef USE_SLANG
> PRIVATE WINDOW *my_subwindow;
ah. (I wonder why it works for me). You're right of course...
I guess both ncurses and Solaris (the one I tested, anyway), don't
mind the null pointer, and since we read from stdscr that makes the
popup window vanish since it gets overwritten.
> PUBLIC void LYsubwindow ARGS1(WINDOW *, param)
> {
> if ((my_subwindow = param) != 0) {
if (param != 0) {
my_subwin = param;
> #if defined(NCURSES) || defined(PDCURSES)
> keypad(param, TRUE);
> #if defined(HAVE_GETBKGD) /* not defined in ncurses 1.8.7 */
> wbkgd(my_subwindow, getbkgd(stdscr));
> wbkgdset(my_subwindow, getbkgd(stdscr));
> #endif
> #endif
> scrollok(my_subwindow, TRUE);
> } else {
> touchwin(stdscr);
> delwin(my_subwindow);
my_subwin = 0;
> }
> }
> #endif
>
> At ../../lynx2-8-4/src/LYForms.c:1770 is:
>
> LYstopPopup();
>
> At ../../lynx2-8-4/src/LYCurses.h" line 189 is:
>
> #ifdef USE_SLANG
> #define LYstopPopup() /* nothing */
> #else
> extern void LYsubwindow PARAMS((WINDOW * param));
> #define LYstopPopup() LYsubwindow(0)
> #endif /* NCURSES */
>
> So it looks as if popup_options calls LYsubwindow with NULL at:
>
> LYstopPopup();
>
> LYsubwindow sets my_subwindow to NULL at:
> if ((my_subwindow = param) != 0) {
> then calls delwin(NULL) and delwin() doesn't like the NULL.
>
> -- gil
> --
> StorageTek
> INFORMATION made POWERFUL
>
> ; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden
--
Thomas E. Dickey <address@hidden>
http://dickey.his.com
ftp://dickey.his.com
; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden