summaryrefslogtreecommitdiffstats
path: root/window-copy.c
diff options
context:
space:
mode:
authornicm <nicm>2019-03-07 19:34:22 +0000
committernicm <nicm>2019-03-07 19:34:22 +0000
commit3c24bc5617bfdf90f94cc088f3769397c7569649 (patch)
tree830aaabadf2aa25a088da0d66edf7215699d67aa /window-copy.c
parent7f093fcddcf82c01b6c4d1446af2ebfac5d8a686 (diff)
Tidy changing the mode into window_copy_init_for_output.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/window-copy.c b/window-copy.c
index ed36efc0..a79e3bf4 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -263,6 +263,12 @@ window_copy_init_for_output(struct window_pane *wp)
{
struct window_copy_mode_data *data = wp->modedata;
+ if (wp->mode == &window_copy_mode && data->backing != &wp->base)
+ return;
+ window_pane_reset_mode(wp);
+ window_pane_set_mode(wp, &window_copy_mode, NULL, NULL);
+
+ data = wp->modedata;
data->backing = xmalloc(sizeof *data->backing);
screen_init(data->backing, screen_size_x(&wp->base),
screen_size_y(&wp->base), UINT_MAX);