aboutsummaryrefslogtreecommitdiff
path: root/window-copy.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2013-03-21 23:57:21 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2013-03-21 23:57:21 +0000
commit041a911c43c9c732e5399a7757a4e21ae4ac0607 (patch)
tree859be6af48ba0381536318dfdff9b3e66db00fb6 /window-copy.c
parent6ddb06d37232a9d02da996e0a83d5acd52002ffc (diff)
downloadrtmux-041a911c43c9c732e5399a7757a4e21ae4ac0607.tar.gz
rtmux-041a911c43c9c732e5399a7757a4e21ae4ac0607.tar.bz2
rtmux-041a911c43c9c732e5399a7757a4e21ae4ac0607.zip
Create a new context when copying instead of using the input context. The input
context may not exist yet.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/window-copy.c b/window-copy.c
index 2dd65eba..51a8f108 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1385,10 +1385,14 @@ window_copy_get_selection(struct window_pane *wp, size_t *len)
void
window_copy_copy_buffer(struct window_pane *wp, int idx, void *buf, size_t len)
{
- u_int limit;
+ u_int limit;
+ struct screen_write_ctx ctx;
- if (options_get_number(&global_options, "set-clipboard"))
- screen_write_setselection(&wp->ictx.ctx, buf, len);
+ if (options_get_number(&global_options, "set-clipboard")) {
+ screen_write_start(&ctx, wp, NULL);
+ screen_write_setselection(&ctx, buf, len);
+ screen_write_stop(&ctx);
+ }
if (idx == -1) {
limit = options_get_number(&global_options, "buffer-limit");