2 Copyright (C) 1994 Miguel de Icaza.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
21 #include <sys/types.h>
25 #include "key.h" /* we_are_background */
26 #include "main.h" /* fast_refresh */
29 Refresh
*refresh_list
= 0;
31 void push_refresh (void (*new_refresh
)(void *), void *parameter
, int flags
)
35 new = g_new (Refresh
, 1);
36 new->next
= (struct Refresh
*) refresh_list
;
37 new->refresh_fn
= new_refresh
;
38 new->parameter
= parameter
;
43 void pop_refresh (void)
48 fprintf (stderr
, _("\n\n\nrefresh stack underflow!\n\n\n"));
51 refresh_list
= refresh_list
->next
;
56 static void do_complete_refresh (Refresh
*refresh_list
)
61 if (refresh_list
->flags
!= REFRESH_COVERS_ALL
)
62 do_complete_refresh (refresh_list
->next
);
64 (*(refresh_list
->refresh_fn
))(refresh_list
->parameter
);
67 void do_refresh (void)
69 if (we_are_background
)
76 (*(refresh_list
->refresh_fn
))(refresh_list
->parameter
);
78 do_complete_refresh (refresh_list
);