summaryrefslogtreecommitdiff
path: root/dselect/baselist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dselect/baselist.cc')
-rw-r--r--dselect/baselist.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/dselect/baselist.cc b/dselect/baselist.cc
index 3f326c6e5..3b3d6e7d0 100644
--- a/dselect/baselist.cc
+++ b/dselect/baselist.cc
@@ -45,9 +45,13 @@ void mywerase(WINDOW *win) {
baselist *baselist::signallist= 0;
void baselist::sigwinchhandler(int) {
+ struct winsize size;
+ if (debug) fprintf(debug,"baselist::sigwinchhandler(), signallist=%p\n",signallist);
baselist *p= signallist;
p->enddisplay();
endwin(); initscr();
+ if (ioctl(fileno(stdout), TIOCGWINSZ, &size) != 0) ohshite(_("ioctl(TIOCGWINSZ) failed"));
+ resizeterm(size.ws_row, size.ws_col); wrefresh(curscr);
p->startdisplay();
if (doupdate() == ERR) ohshite(_("doupdate in SIGWINCH handler failed"));
}