summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@src.gnome.org>2021-02-05 00:35:15 +0100
committerChristian Persch <chpe@src.gnome.org>2021-02-05 00:36:01 +0100
commit144bd35be3640612786bed3b087dfd99309abd02 (patch)
treecf7d8c72066ede6c553690c7850324dfa4a7f405
parent91d7e0f0b90f9ae3e94a1db6cda6e81ea2ae6431 (diff)
downloadvte-144bd35be3640612786bed3b087dfd99309abd02.tar.gz
sixel: Fix omitted data syntax reset when mismatched controls
At the end of parsing the sixel data, we always need to pop_data_syntax(). The code was incorrectly omitting that in the case of mismatched controls.
-rw-r--r--src/vte.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/vte.cc b/src/vte.cc
index 48742d83..64193498 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -3901,12 +3901,11 @@ Terminal::process_incoming_decsixel(ProcessingContext& context,
/* Like the main parser, the sequence only takes effect
* if introducer and terminator match (both C0 or both C1).
*/
- if (!m_sixel_context->is_matching_controls())
- break;
-
- try {
- insert_image(context, m_sixel_context->image_cairo());
- } catch (...) {
+ if (m_sixel_context->is_matching_controls()) {
+ try {
+ insert_image(context, m_sixel_context->image_cairo());
+ } catch (...) {
+ }
}
[[fallthrough]];