summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-03-14 00:02:37 +0000
committerThomas Adam <thomas@xteddy.org>2019-03-14 00:02:37 +0000
commit81b393a4931037e604975682a2706f4447f06475 (patch)
treeb06e3e3e13155c27643f88c0962113f8d04ad81b
parent786f5e505eedca60e605275c189fc67474d0490c (diff)
parent5755bfc619d9d638e82b53afc91cf06096f4dfd9 (diff)
Merge branch 'obsd-master'
-rw-r--r--cmd-select-pane.c3
-rw-r--r--colour.c2
-rw-r--r--tty.c4
3 files changed, 6 insertions, 3 deletions
diff --git a/cmd-select-pane.c b/cmd-select-pane.c
index 90ca46ba..87156250 100644
--- a/cmd-select-pane.c
+++ b/cmd-select-pane.c
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <stdlib.h>
+#include <string.h>
#include "tmux.h"
@@ -143,6 +144,8 @@ cmd_select_pane_exec(struct cmd *self, struct cmdq_item *item)
if (args_has(self->args, 'P') || args_has(self->args, 'g')) {
if (args_has(args, 'P')) {
style = args_get(args, 'P');
+ memcpy(&wp->colgc, &grid_default_cell,
+ sizeof wp->colgc);
if (style_parse(&grid_default_cell, &wp->colgc,
style) == -1) {
cmdq_error(item, "bad style: %s", style);
diff --git a/colour.c b/colour.c
index a0274dd3..eaee6058 100644
--- a/colour.c
+++ b/colour.c
@@ -160,7 +160,7 @@ colour_tostring(int c)
case 97:
return ("brightwhite");
}
- return (NULL);
+ return ("invalid");
}
/* Convert colour from string. */
diff --git a/tty.c b/tty.c
index cd3ea5e0..118904a4 100644
--- a/tty.c
+++ b/tty.c
@@ -1281,12 +1281,12 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
gcp->bg != last.bg ||
ux + width + gcp->data.width > nx ||
(sizeof buf) - len < gcp->data.size)) {
+ tty_attributes(tty, &last, wp);
if (last.flags & GRID_FLAG_CLEARED) {
log_debug("%s: %zu cleared", __func__, len);
tty_clear_line(tty, wp, aty, atx + ux, width,
last.bg);
} else {
- tty_attributes(tty, &last, wp);
tty_cursor(tty, atx + ux, aty);
tty_putn(tty, buf, len, width);
}
@@ -1322,11 +1322,11 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
}
}
if (len != 0 && ((~last.flags & GRID_FLAG_CLEARED) || last.bg != 8)) {
+ tty_attributes(tty, &last, wp);
if (last.flags & GRID_FLAG_CLEARED) {
log_debug("%s: %zu cleared (end)", __func__, len);
tty_clear_line(tty, wp, aty, atx + ux, width, last.bg);
} else {
- tty_attributes(tty, &last, wp);
tty_cursor(tty, atx + ux, aty);
tty_putn(tty, buf, len, width);
}