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'); }