mirror of
https://github.com/irssi/irssi.git
synced 2026-08-10 20:33:46 +02:00
Redrawing fixes - irssi should now rarely redraw stuff uselessly in screen.
Most of the code now just marks the window/statusbar/etc. as dirty, and lets the dirty-checker handle it later. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1926 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
44b12481d6
commit
fb439b5c2a
16 changed files with 348 additions and 123 deletions
|
|
@ -117,8 +117,14 @@ void gui_window_resize(WINDOW_REC *window, int width, int height)
|
|||
{
|
||||
GUI_WINDOW_REC *gui;
|
||||
|
||||
if (window->width == width && window->height == height)
|
||||
return;
|
||||
|
||||
gui = WINDOW_GUI(window);
|
||||
|
||||
irssi_set_dirty();
|
||||
WINDOW_MAIN(window)->dirty = TRUE;
|
||||
|
||||
window->width = width;
|
||||
window->height = height;
|
||||
textbuffer_view_resize(gui->view, width, height);
|
||||
|
|
@ -248,14 +254,16 @@ static void signal_window_changed(WINDOW_REC *window)
|
|||
gui_window_reparent(window, active_mainwin);
|
||||
}
|
||||
|
||||
old_window = active_mainwin->active;
|
||||
if (old_window != NULL)
|
||||
textbuffer_view_set_window(WINDOW_GUI(old_window)->view, NULL);
|
||||
old_window = active_mainwin->active;
|
||||
if (old_window != NULL && old_window != window)
|
||||
textbuffer_view_set_window(WINDOW_GUI(old_window)->view, NULL);
|
||||
|
||||
active_mainwin->active = window;
|
||||
|
||||
textbuffer_view_set_window(WINDOW_GUI(window)->view,
|
||||
parent->screen_win);
|
||||
if (WINDOW_GUI(window)->view->dirty)
|
||||
active_mainwin->dirty = TRUE;
|
||||
}
|
||||
|
||||
static void read_settings(void)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue