summaryrefslogtreecommitdiffstats
path: root/src/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/channel.c')
-rw-r--r--src/channel.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/channel.c b/src/channel.c
index 08b1ac8670..4e6457546a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -2872,8 +2872,14 @@ append_to_buffer(buf_T *buffer, char_u *msg, channel_T *channel, ch_part_T part)
buffer->b_p_ma = TRUE;
- // set curbuf to be our buf, temporarily
+ // Set curbuf to "buffer", temporarily.
aucmd_prepbuf(&aco, buffer);
+ if (curbuf != buffer)
+ {
+ // Could not find a window for this buffer, the following might cause
+ // trouble, better bail out.
+ return;
+ }
u_sync(TRUE);
// ignore undo failure, undo is not very useful here