X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=panel%2Fp_show.c;h=4fc7b1dbcba1034c949745283f35866e3ffbec0e;hb=b1f61d9f3aa244512045a6b02e759825d7049d34;hp=10781efb73a2b9708560a28f7b339574a35405a2;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1;p=ncurses.git diff --git a/panel/p_show.c b/panel/p_show.c index 10781efb..4fc7b1db 100644 --- a/panel/p_show.c +++ b/panel/p_show.c @@ -36,41 +36,32 @@ */ #include "panel.priv.h" -MODULE_ID("$Id: p_show.c,v 1.2 1998/02/11 12:14:01 tom Exp $") - -static void -panel_link_top(PANEL *pan) -{ -#ifdef TRACE - dStack("",1,pan); - if(_nc_panel_is_linked(pan)) - return; -#endif - - pan->above = (PANEL *)0; - pan->below = (PANEL *)0; - if(_nc_top_panel) - { - _nc_top_panel->above = pan; - pan->below = _nc_top_panel; - } - _nc_top_panel = pan; - if(!_nc_bottom_panel) - _nc_bottom_panel = pan; - _nc_calculate_obscure(); - dStack("",9,pan); -} +MODULE_ID("$Id: p_show.c,v 1.7 1999/11/25 13:49:26 juergen Exp $") int show_panel(PANEL *pan) -{ +{ + int err = OK; + if(!pan) return(ERR); - if(pan == _nc_top_panel) + + if (Is_Top(pan)) return(OK); + dBug(("--> show_panel %s", USER_PTR(pan->user))); - if(_nc_panel_is_linked(pan)) - (void)hide_panel(pan); - panel_link_top(pan); + + HIDE_PANEL(pan,err,FALSE); + + dStack("",1,pan); + assert(_nc_bottom_panel == _nc_stdscr_pseudo_panel); + + _nc_top_panel->above = pan; + pan->below = _nc_top_panel; + pan->above = (PANEL *)0; + _nc_top_panel = pan; + + dStack("",9,pan); + return(OK); }