mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
Resizing window destroyed curses window, but didn't update the view's curses
window which kept using the old one, and probably crashed soon. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1532 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
3f0e76d516
commit
e403244a2d
@ -84,6 +84,9 @@ static void mainwindow_resize(MAIN_WINDOW_REC *window, int xdiff, int ydiff)
|
|||||||
#else
|
#else
|
||||||
delwin(window->curses_win);
|
delwin(window->curses_win);
|
||||||
create_curses_window(window);
|
create_curses_window(window);
|
||||||
|
|
||||||
|
textbuffer_view_set_window(WINDOW_GUI(window->active)->view,
|
||||||
|
window->curses_win);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -234,13 +237,13 @@ void mainwindow_destroy(MAIN_WINDOW_REC *window)
|
|||||||
{
|
{
|
||||||
g_return_if_fail(window != NULL);
|
g_return_if_fail(window != NULL);
|
||||||
|
|
||||||
|
mainwindows = g_slist_remove(mainwindows, window);
|
||||||
|
signal_emit("mainwindow destroyed", 1, window);
|
||||||
|
|
||||||
#ifdef USE_CURSES_WINDOWS
|
#ifdef USE_CURSES_WINDOWS
|
||||||
delwin(window->curses_win);
|
delwin(window->curses_win);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mainwindows = g_slist_remove(mainwindows, window);
|
|
||||||
signal_emit("mainwindow destroyed", 1, window);
|
|
||||||
|
|
||||||
if (!quitting && mainwindows != NULL) {
|
if (!quitting && mainwindows != NULL) {
|
||||||
gui_windows_remove_parent(window);
|
gui_windows_remove_parent(window);
|
||||||
mainwindows_add_space(window->first_line, window->last_line+window->statusbar_lines);
|
mainwindows_add_space(window->first_line, window->last_line+window->statusbar_lines);
|
||||||
@ -248,6 +251,7 @@ void mainwindow_destroy(MAIN_WINDOW_REC *window)
|
|||||||
mainwindows_redraw();
|
mainwindows_redraw();
|
||||||
statusbar_redraw(NULL);
|
statusbar_redraw(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free(window);
|
g_free(window);
|
||||||
|
|
||||||
if (active_mainwin == window) active_mainwin = NULL;
|
if (active_mainwin == window) active_mainwin = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user