From 0d78ee95f95cd94ad6266645630eae2952ec2ffd Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 17 May 2020 20:31:49 +0200 Subject: [PATCH] LibVT: Make TerminalWidget::selected_text() produce UTF-8 strings :^) --- Libraries/LibVT/TerminalWidget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Libraries/LibVT/TerminalWidget.cpp b/Libraries/LibVT/TerminalWidget.cpp index 0c0c232101..97cb2c8544 100644 --- a/Libraries/LibVT/TerminalWidget.cpp +++ b/Libraries/LibVT/TerminalWidget.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -739,7 +740,13 @@ String TerminalWidget::selected_text() const builder.append('\n'); break; } - builder.append(line.codepoint(column)); + // FIXME: This is a bit hackish. + if (line.is_utf32()) { + u32 codepoint = line.codepoint(column); + builder.append(Utf32View(&codepoint, 1)); + } else { + builder.append(line.codepoint(column)); + } if (column == line.length() - 1 || (m_rectangle_selection && column == last_column)) { builder.append('\n'); }