summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2011-07-30 00:16:17 +0200
committerSebastien Helleu <flashcode@flashtux.org>2011-07-30 00:16:17 +0200
commita56c1097dccbe4f08e4155a5e4021d339a4bd63c (patch)
tree6536f070c33b3eb4f65f98b42b7867e21fd463f1 /src/gui
parent54a6f42de539e176517be5cce0c6792b5530c459 (diff)
downloadweechat-a56c1097dccbe4f08e4155a5e4021d339a4bd63c.zip
core: fix refresh bug when switching buffer
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/curses/gui-curses-main.c9
-rw-r--r--src/gui/curses/gui-curses-window.c7
2 files changed, 16 insertions, 0 deletions
diff --git a/src/gui/curses/gui-curses-main.c b/src/gui/curses/gui-curses-main.c
index d27b8eccf..b95961fc3 100644
--- a/src/gui/curses/gui-curses-main.c
+++ b/src/gui/curses/gui-curses-main.c
@@ -252,6 +252,15 @@ gui_main_refreshs ()
gui_window_refresh_needed = 0;
}
+ /* refresh bars if needed */
+ for (ptr_bar = gui_bars; ptr_bar; ptr_bar = ptr_bar->next_bar)
+ {
+ if (ptr_bar->bar_refresh_needed)
+ {
+ gui_bar_draw (ptr_bar);
+ }
+ }
+
/* refresh windows if needed */
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c
index bac2ecfd0..07826d04c 100644
--- a/src/gui/curses/gui-curses-window.c
+++ b/src/gui/curses/gui-curses-window.c
@@ -1505,6 +1505,7 @@ void
gui_window_refresh_windows ()
{
struct t_gui_window *ptr_win, *old_current_window;
+ struct t_gui_bar_window *ptr_bar_win;
struct t_gui_bar *ptr_bar;
int add_bottom, add_top, add_left, add_right;
@@ -1539,6 +1540,12 @@ gui_window_refresh_windows ()
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
{
+ gui_window_calculate_pos_size (ptr_win);
+ for (ptr_bar_win = ptr_win->bar_windows; ptr_bar_win;
+ ptr_bar_win = ptr_bar_win->next_bar_window)
+ {
+ gui_bar_window_create_win (ptr_bar_win);
+ }
ptr_win->refresh_needed = 1;
}