diff options
author | Timo Sirainen <cras@irssi.org> | 2001-11-18 22:15:56 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-11-18 22:15:56 +0000 |
commit | 99120dc50803c8537c50cabc9289179ae4b1d39d (patch) | |
tree | 853ce3fd2e461bb65545607286fe0b84ccf8261f | |
parent | 0be0cc8198d70f98ffc205d80cb585ce37f42b23 (diff) | |
download | irssi-99120dc50803c8537c50cabc9289179ae4b1d39d.zip |
back to "Irssi didn't always remove the statusbar item from screen when it
should have." bug - this time with right-aligned items :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2065 dbcabf3a-b0e7-0310-adc4-f8d773084564
-rw-r--r-- | src/fe-text/statusbar.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/fe-text/statusbar.c b/src/fe-text/statusbar.c index c8c9c14d..986b153d 100644 --- a/src/fe-text/statusbar.c +++ b/src/fe-text/statusbar.c @@ -276,8 +276,17 @@ static void statusbar_calc_item_positions(STATUSBAR_REC *bar) for (tmp = bar->items; tmp != NULL; tmp = tmp->next) { SBAR_ITEM_REC *rec = tmp->data; - if (rec->config->right_alignment && rec->size > 0) - right_items = g_slist_prepend(right_items, rec); + if (rec->config->right_alignment) { + if (rec->size > 0) + right_items = g_slist_prepend(right_items, rec); + else if (rec->current_size > 0) { + /* item was hidden - set the dirty position + to begin from the item's old xpos */ + irssi_set_dirty(); + bar->dirty = TRUE; + bar->dirty_xpos = rec->xpos; + } + } } rxpos = term_width; |