Skip to content

Commit 5cb3918

Browse files
committed
gui: Avoid pathological QT text/markdown behavior...
during text selection by only setting plaintext mime data.
1 parent 689a321 commit 5cb3918

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/qt/forms/debugwindow.ui

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@
573573
</layout>
574574
</item>
575575
<item>
576-
<widget class="QTextEdit" name="messagesWidget">
576+
<widget class="PlainCopyTextEdit" name="messagesWidget">
577577
<property name="minimumSize">
578578
<size>
579579
<width>0</width>
@@ -1868,6 +1868,10 @@
18681868
<slot>clear()</slot>
18691869
</slots>
18701870
</customwidget>
1871+
<customwidget>
1872+
<class>PlainCopyTextEdit</class>
1873+
<extends>QTextEdit</extends>
1874+
</customwidget>
18711875
</customwidgets>
18721876
<resources>
18731877
<include location="../bitcoin.qrc"/>

src/qt/rpcconsole.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
#include <QByteArray>
1717
#include <QCompleter>
18+
#include <QMimeData>
19+
#include <QTextEdit>
1820
#include <QThread>
1921
#include <QWidget>
2022

@@ -191,4 +193,16 @@ private Q_SLOTS:
191193
void updateAlerts(const QString& warnings);
192194
};
193195

196+
class PlainCopyTextEdit : public QTextEdit {
197+
Q_OBJECT
198+
public:
199+
using QTextEdit::QTextEdit;
200+
protected:
201+
QMimeData* createMimeDataFromSelection() const override {
202+
auto md = new QMimeData();
203+
md->setText(textCursor().selectedText());
204+
return md;
205+
}
206+
};
207+
194208
#endif // BITCOIN_QT_RPCCONSOLE_H

0 commit comments

Comments
 (0)