Merge branch 'maint'

This commit is contained in:
Lukas Fleischer 2012-11-29 11:34:00 +01:00
commit a91fd72641
3 changed files with 20 additions and 0 deletions

View File

@ -908,6 +908,8 @@ void recur_apoint_paste_item(struct recur_apoint *, long);
/* sigs.c */
void sigs_init(void);
unsigned sigs_set_hdlr(int, void (*)(int));
void sigs_ignore(void);
void sigs_unignore(void);
/* todo.c */
extern llist_t todolist;

View File

@ -108,3 +108,17 @@ void sigs_init()
|| !sigs_set_hdlr(SIGINT, SIG_IGN))
exit_calcurse(1);
}
/* Ignore SIGWINCH and SIGTERM signals. */
void sigs_ignore(void)
{
sigs_set_hdlr(SIGWINCH, SIG_IGN);
sigs_set_hdlr(SIGTERM, SIG_IGN);
}
/* No longer ignore SIGWINCH and SIGTERM signals. */
void sigs_unignore(void)
{
sigs_set_hdlr(SIGWINCH, generic_hdlr);
sigs_set_hdlr(SIGTERM, generic_hdlr);
}

View File

@ -535,16 +535,20 @@ void wins_prepare_external(void)
clear();
wins_refresh();
endwin();
sigs_ignore();
}
/* Restore windows when returning from an external command. */
void wins_unprepare_external(void)
{
sigs_unignore();
reset_prog_mode();
clearok(curscr, TRUE);
curs_set(0);
ui_mode = UI_CURSES;
wins_refresh();
wins_reinit();
wins_update(FLAG_ALL);
if (notify_bar())
notify_start_main_thread();
}