*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_new.c,v 1.2 1998/02/11 12:14:01 tom Exp $")
+MODULE_ID("$Id: p_new.c,v 1.5 1999/11/22 18:02:41 juergen Exp $")
+
+#ifdef TRACE
+static char* stdscr_id;
+static char* new_id;
+#endif
/*+-------------------------------------------------------------------------
Get root (i.e. stdscr's) panel.
PANEL* pan = _nc_stdscr_pseudo_panel;
WINDOW* win = stdscr;
pan->win = win;
- getbegyx(win, pan->wstarty, pan->wstartx);
- pan->wendy = pan->wstarty + getmaxy(win);
- pan->wendx = pan->wstartx + getmaxx(win);
pan->below = (PANEL*)0;
pan->above = (PANEL*)0;
- pan->obscure = (PANELCONS*)0;
#ifdef TRACE
- pan->user = "stdscr";
+ if (!stdscr_id)
+ stdscr_id = strdup("stdscr");
+ pan->user = stdscr_id;
#else
pan->user = (void*)0;
#endif
- _nc_panel_link_bottom(pan);
+ _nc_bottom_panel = _nc_top_panel = pan;
}
}
return _nc_stdscr_pseudo_panel;
{
PANEL *pan = (PANEL*)0;
- (void)root_panel();
+ if (!win)
+ return(pan);
+
+ if (!_nc_stdscr_pseudo_panel)
+ (void)root_panel();
assert(_nc_stdscr_pseudo_panel);
if (!(win->_flags & _ISPAD) && (pan = (PANEL*)malloc(sizeof(PANEL))))
pan->win = win;
pan->above = (PANEL *)0;
pan->below = (PANEL *)0;
- getbegyx(win, pan->wstarty, pan->wstartx);
- pan->wendy = pan->wstarty + getmaxy(win);
- pan->wendx = pan->wstartx + getmaxx(win);
#ifdef TRACE
- pan->user = "new";
+ if (!new_id)
+ new_id = strdup("new");
+ pan->user = new_id;
#else
pan->user = (char *)0;
#endif
- pan->obscure = (PANELCONS *)0;
(void)show_panel(pan);
}
return(pan);