diff --git a/src/terminalDisplay/TerminalClipboard.cpp b/src/terminalDisplay/TerminalClipboard.cpp index 9bd7f6ef..15608f7e 100644 --- a/src/terminalDisplay/TerminalClipboard.cpp +++ b/src/terminalDisplay/TerminalClipboard.cpp @@ -141,7 +141,7 @@ bool isUnsafe(const QChar c) { return (c.category() == QChar::Category::Other_Control && std::find(ALLOWLIST.begin(), ALLOWLIST.end(), c.unicode()) != ALLOWLIST.end()); } -void copyToX11Selection(const QString &textToCopy, const QString &htmlToCopy, bool autoCopySelectedText) +void copyToX11Selection(const QString &textToCopy, bool isHtml, bool autoCopySelectedText) { if (textToCopy.isEmpty()) { return; @@ -150,8 +150,8 @@ void copyToX11Selection(const QString &textToCopy, const QString &htmlToCopy, bo auto mimeData = new QMimeData; mimeData->setText(textToCopy); - if (!htmlToCopy.isEmpty()) { - mimeData->setHtml(htmlToCopy); + if (isHtml) { + mimeData->setHtml(textToCopy); } if (QApplication::clipboard()->supportsSelection()) { diff --git a/src/terminalDisplay/TerminalClipboard.h b/src/terminalDisplay/TerminalClipboard.h index 1681a753..74c3db09 100644 --- a/src/terminalDisplay/TerminalClipboard.h +++ b/src/terminalDisplay/TerminalClipboard.h @@ -47,6 +47,6 @@ QStringList checkForUnsafeCharacters(const QString &text); */ bool isUnsafe(const QChar c); -void copyToX11Selection(const QString &textToCopy, const QString &htmlToCopy, bool autoCopySelectedText); +void copyToX11Selection(const QString &textToCopy, bool copyAsHtml, bool autoCopySelectedText); } diff --git a/src/terminalDisplay/TerminalDisplay.cpp b/src/terminalDisplay/TerminalDisplay.cpp index 4b38ff64..ad286533 100644 --- a/src/terminalDisplay/TerminalDisplay.cpp +++ b/src/terminalDisplay/TerminalDisplay.cpp @@ -2181,10 +2181,11 @@ void TerminalDisplay::copyToX11Selection() return; } - const auto text = _screenWindow->selectedText(currentDecodingOptions()); - const auto html = _screenWindow->selectedText(currentDecodingOptions() | Screen::ConvertToHtml); + const auto &text = _copyTextAsHTML ? + _screenWindow->selectedText(currentDecodingOptions() | Screen::ConvertToHtml) + : _screenWindow->selectedText(currentDecodingOptions()); - terminalClipboard::copyToX11Selection(text, html, _autoCopySelectedText); + terminalClipboard::copyToX11Selection(text, _copyTextAsHTML, _autoCopySelectedText); } void TerminalDisplay::copyToClipboard()