X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=panel%2Fp_update.c;h=40212965d3bbdcc17450132792152e50d749bfe3;hp=692a3f33b95d5c2129a37cf758237aad5ff33abb;hb=f259fb41d8f08b7e042eb928b839b59c8e39098c;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce diff --git a/panel/p_update.c b/panel/p_update.c index 692a3f33..40212965 100644 --- a/panel/p_update.c +++ b/panel/p_update.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright 2020 Thomas E. Dickey * + * Copyright 1998-2009,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -29,6 +30,7 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim 1995 * * and: Eric S. Raymond * + * and: Juergen Pfeifer 1997-1999,2008 * ****************************************************************************/ /* p_update.c @@ -36,26 +38,42 @@ */ #include "panel.priv.h" -MODULE_ID("$Id: p_update.c,v 1.3 1999/09/29 15:22:32 juergen Exp $") +MODULE_ID("$Id: p_update.c,v 1.13 2020/05/24 01:40:20 anonymous.maarten Exp $") -void -update_panels(void) +PANEL_EXPORT(void) +NCURSES_SP_NAME(update_panels) (NCURSES_SP_DCL0) { PANEL *pan; + T((T_CALLED("update_panels(%p)"), (void *)SP_PARM)); dBug(("--> update_panels")); - pan = _nc_bottom_panel; - while(pan && pan->above) - { - PANEL_UPDATE(pan,pan->above); - pan = pan->above; - } - pan = _nc_bottom_panel; - while (pan) + if (SP_PARM) { - if (is_wintouched(pan->win)) - Wnoutrefresh(pan); - pan = pan->above; + GetScreenHook(SP_PARM); + + pan = _nc_bottom_panel; + while (pan && pan->above) + { + PANEL_UPDATE(pan, pan->above); + pan = pan->above; + } + + pan = _nc_bottom_panel; + while (pan) + { + Wnoutrefresh(pan); + pan = pan->above; + } } + + returnVoid; +} + +#if NCURSES_SP_FUNCS +PANEL_EXPORT(void) +update_panels(void) +{ + NCURSES_SP_NAME(update_panels) (CURRENT_SCREEN); } +#endif