https://bugzilla.gnome.org/show_bug.cgi?id=729533 --- diff -ru vte-0.28.2/src/vte.c vte-0.28.2.new/src/vte.c --- vte-0.28.2/src/vte.c 2016-09-20 22:21:40.469530577 +1000 +++ vte-0.28.2.new/src/vte.c 2016-09-20 22:27:36.302636796 +1000 @@ -5823,10 +5823,10 @@ p++; } } - if (terminal->pvt->screen->bracketed_paste_mode) + if (terminal->pvt->bracketed_paste_mode) vte_terminal_feed_child(terminal, "\e[200~", -1); vte_terminal_feed_child(terminal, paste, length); - if (terminal->pvt->screen->bracketed_paste_mode) + if (terminal->pvt->bracketed_paste_mode) vte_terminal_feed_child(terminal, "\e[201~", -1); g_free(paste); } @@ -14107,14 +14107,12 @@ pvt->normal_screen.linefeed_mode = FALSE; pvt->normal_screen.origin_mode = FALSE; pvt->normal_screen.reverse_mode = FALSE; - pvt->normal_screen.bracketed_paste_mode = FALSE; pvt->alternate_screen.scrolling_restricted = FALSE; pvt->alternate_screen.sendrecv_mode = TRUE; pvt->alternate_screen.insert_mode = FALSE; pvt->alternate_screen.linefeed_mode = FALSE; pvt->alternate_screen.origin_mode = FALSE; pvt->alternate_screen.reverse_mode = FALSE; - pvt->alternate_screen.bracketed_paste_mode = FALSE; pvt->cursor_visible = TRUE; /* For some reason, xterm doesn't reset alternateScroll, but we do. */ pvt->alternate_screen_scroll = TRUE; @@ -14146,6 +14144,8 @@ pvt->mouse_last_y = 0; /* Clear modifiers. */ pvt->modifiers = 0; + /* Reset miscellaneous stuff. */ + pvt->bracketed_paste_mode = FALSE; /* Cause everything to be redrawn (or cleared). */ vte_terminal_maybe_scroll_to_bottom(terminal); _vte_invalidate_all(terminal); diff -ru vte-0.28.2/src/vte-private.h vte-0.28.2.new/src/vte-private.h --- vte-0.28.2/src/vte-private.h 2016-09-20 22:21:40.469530577 +1000 +++ vte-0.28.2.new/src/vte-private.h 2016-09-20 22:25:47.554867404 +1000 @@ -219,7 +219,6 @@ gboolean sendrecv_mode; /* sendrecv mode */ gboolean insert_mode; /* insert mode */ gboolean linefeed_mode; /* linefeed mode */ - gboolean bracketed_paste_mode; struct vte_scrolling_region { int start, end; } scrolling_region; /* the region we scroll in */ @@ -274,6 +273,7 @@ gboolean text_modified_flag; gboolean text_inserted_flag; gboolean text_deleted_flag; + gboolean bracketed_paste_mode; /* Scrolling options. */ gboolean scroll_background; diff -ru vte-0.28.2/src/vteseq.c vte-0.28.2.new/src/vteseq.c --- vte-0.28.2/src/vteseq.c 2016-09-20 22:21:40.473530625 +1000 +++ vte-0.28.2.new/src/vteseq.c 2016-09-20 22:25:47.554867404 +1000 @@ -742,7 +742,7 @@ GINT_TO_POINTER(TRUE), NULL, NULL}, /* 2004: Bracketed paste mode. */ - {2004, &terminal->pvt->screen->bracketed_paste_mode, NULL, NULL, + {2004, &terminal->pvt->bracketed_paste_mode, NULL, NULL, GINT_TO_POINTER(FALSE), GINT_TO_POINTER(TRUE), NULL, NULL,},