diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-04-01 14:42:44 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-04-01 14:42:44 +1100 |
| commit | ff073bcce13f4f207a55b079e78cd38ec58a64f2 (patch) | |
| tree | 88d8673153dd753307c6009e0c010333ccad996e /src | |
| parent | 4043b552ee6f8384decdffdaf84fdbaebcb5b166 (diff) | |
| parent | e06d048d2f67cedd9c7b21eb1fc9ebccd1445906 (diff) | |
Merge remote-tracking branch 'lenormf/fix-ncurses'
Diffstat (limited to 'src')
| -rw-r--r-- | src/ncurses_ui.cc | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/ncurses_ui.cc b/src/ncurses_ui.cc index 21e7a33a..b6026e37 100644 --- a/src/ncurses_ui.cc +++ b/src/ncurses_ui.cc @@ -475,38 +475,38 @@ void NCursesUI::check_resize(bool force) resize_pending = 0; const int fd = open("/dev/tty", O_RDWR); - auto close_fd = on_scope_end([fd]{ close(fd); }); + auto close_fd = on_scope_end([fd]{ ::close(fd); }); winsize ws; - if (ioctl(fd, TIOCGWINSZ, (void*)&ws) == 0) - { - const bool info = (bool)m_info; - const bool menu = (bool)m_menu; - if (m_window) delwin(m_window); - if (info) m_info.destroy(); - if (menu) m_menu.destroy(); - resize_term(ws.ws_row, ws.ws_col); + kak_assert(fd > -1); + if (::ioctl(fd, TIOCGWINSZ, &ws) != 0) + kak_assert(false); - m_window = (NCursesWin*)newpad(ws.ws_row, ws.ws_col); - intrflush(m_window, false); - keypad(m_window, true); - meta(m_window, true); + const bool info = (bool)m_info; + const bool menu = (bool)m_menu; + if (m_window) delwin(m_window); + if (info) m_info.destroy(); + if (menu) m_menu.destroy(); - m_dimensions = DisplayCoord{ws.ws_row-1, ws.ws_col}; + resize_term(ws.ws_row, ws.ws_col); - if (char* csr = tigetstr((char*)"csr")) - putp(tparm(csr, 0, ws.ws_row)); + m_window = (NCursesWin*)newpad(ws.ws_row, ws.ws_col); + intrflush(m_window, false); + keypad(m_window, true); + meta(m_window, true); - if (menu) - { - auto items = std::move(m_menu.items); - menu_show(items, m_menu.anchor, m_menu.fg, m_menu.bg, m_menu.style); - } - if (info) - info_show(m_info.title, m_info.content, m_info.anchor, m_info.face, m_info.style); + m_dimensions = DisplayCoord{ws.ws_row-1, ws.ws_col}; + + if (char* csr = tigetstr((char*)"csr")) + putp(tparm(csr, 0, ws.ws_row)); + + if (menu) + { + auto items = std::move(m_menu.items); + menu_show(items, m_menu.anchor, m_menu.fg, m_menu.bg, m_menu.style); } - else - kak_assert(false); + if (info) + info_show(m_info.title, m_info.content, m_info.anchor, m_info.face, m_info.style); ungetch(KEY_RESIZE); clearok(curscr, true); |
