Hennadii Stepanov
ee42d59d4d
Merge bitcoin-core/gui#886 : Avoid pathological QT text/markdown behavior...
...
6a371b70c87ad6b763c89384562fce8549f37434 gui: Avoid pathological QT text/markdown behavior... (David Gumberg)
Pull request description:
...during text selection by only setting plaintext mime data.
Fixes the OOM described in #887 .
The issue is related to the construction of the [`text/markdown`](b617d11765/src/widgets/widgets/qwidgettextcontrol.cpp (L3539) ) MIME data for the selection. Using the `heaptrack` utility, I observed that nearly all of the allocations when reproducing happen in [`QTextMarkdownWriter::writeFrame`](b617d11765/src/gui/text/qtextmarkdownwriter.cpp (L95) ). I am not 100% sure what is causing this issue in QT's conversion of our HTML to markdown; I have tried changing the [HTML tags](689a321976/src/qt/rpcconsole.cpp (L916-L924) ) (e.g. using `<p></p`> and `<ul><li></li></ul>` in place of tables) used in our `rpcconsole` messages, but the issue recurs.
The solution applied here is to override `createMimeDataFromSelection()` to avoid construction of the (likely never-used anyways) `text/markdown` mime data, and only set plaintext mime data in the clipboard.
ACKs for top commit:
hebasto:
ACK 6a371b70c87ad6b763c89384562fce8549f37434.
Tree-SHA512: 3edc4da47e6dbe939f27664d2265376938eed4f83ded3706e4b73677eac5c9a4ba8819f241428b45a08e8834982ee7759ee096afd090586db3b523d0ccbbbf73
2025-09-10 12:26:58 +01:00
..
2025-08-27 03:33:32 +10:00
2025-09-08 13:44:44 -07:00
2025-05-08 16:49:58 +01:00
2025-08-11 16:47:43 +01:00
2025-08-07 09:27:25 +01:00
2025-09-08 18:39:55 +01:00
2025-09-07 17:28:31 +02:00
2025-08-12 11:28:36 -04:00
2025-08-19 14:49:37 -07:00
2025-09-08 13:28:01 -07:00
2025-09-07 17:21:00 +02:00
2025-05-30 16:51:49 +01:00
2025-02-21 10:43:01 +01:00
2025-05-13 18:07:47 +01:00
2025-08-19 16:52:02 -04:00
2025-08-21 15:16:54 +02:00
2025-08-11 16:47:51 +01:00
2025-09-10 12:26:58 +01:00
2025-09-07 17:21:00 +02:00
2025-08-06 09:33:17 -04:00
2025-07-22 09:35:01 +01:00
2025-05-23 10:09:39 +01:00
2025-09-08 17:06:30 -07:00
2025-07-23 13:29:07 -07:00
2025-08-13 14:50:51 -04:00
2025-09-09 14:36:56 -07:00
2025-08-11 16:47:43 +01:00
2025-06-03 15:13:54 +02:00
2025-07-10 11:24:40 +02:00
2024-07-30 14:06:58 -04:00
2025-03-23 21:58:39 +01:00
2024-09-20 12:55:22 -04:00
2024-11-11 12:47:53 -03:00
2024-11-11 12:47:53 -03:00
2025-01-09 10:11:46 -05:00
2025-04-07 10:45:13 -04:00
2025-07-25 09:50:50 +02:00
2025-05-19 16:40:33 +01:00
2025-06-03 15:13:54 +02:00
2025-03-12 19:46:54 +01:00
2025-06-03 15:13:57 +02:00
2025-06-03 15:13:57 +02:00
2025-06-03 19:56:55 +02:00
2025-03-12 19:46:54 +01:00
2025-08-01 15:12:37 +02:00
2025-06-10 15:14:24 +02:00
2025-08-04 15:33:25 -06:00
2025-06-10 15:14:24 +02:00
2025-06-10 15:14:24 +02:00
2025-05-17 09:36:25 +02:00
2025-06-10 15:14:24 +02:00
2025-01-15 12:15:40 +01:00
2025-06-10 15:14:24 +02:00
2025-05-09 15:07:04 +02:00
2025-07-03 17:03:00 -04:00
2025-06-10 15:14:24 +02:00
2025-01-16 21:06:21 +00:00
2025-08-27 03:33:32 +10:00
2025-08-27 03:33:32 +10:00
2025-08-13 00:08:37 -03:00
2025-08-13 00:08:37 -03:00
2025-07-25 09:50:50 +02:00
2025-06-03 15:13:57 +02:00
2024-11-14 13:41:02 -05:00
2025-09-03 11:23:30 +01:00
2025-05-19 22:06:48 +00:00
2025-05-20 09:30:41 +01:00
2025-05-29 11:18:36 +01:00
2025-07-14 09:41:17 -04:00
2025-08-07 14:53:26 +01:00
2024-12-04 14:09:05 -05:00
2025-06-03 15:13:57 +02:00
2025-03-12 19:46:54 +01:00
2024-11-26 20:47:08 -05:00
2025-04-22 13:16:54 +01:00
2025-01-22 17:31:22 -05:00
2025-05-19 16:40:33 +01:00
2025-08-06 15:46:18 -07:00
2025-07-22 10:26:15 -07:00
2025-04-30 14:51:21 +02:00
2025-04-30 14:51:21 +02:00
2025-02-21 10:41:27 +01:00
2025-01-21 00:38:03 +10:00
2025-07-25 09:50:50 +02:00
2024-08-13 07:44:31 +02:00
2025-06-16 15:33:19 +02:00
2024-07-24 09:39:35 +02:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-09-02 11:59:48 +01:00
2025-08-11 16:47:43 +01:00
2025-07-03 06:26:23 -04:00
2025-07-25 09:50:50 +02:00
2024-11-04 17:08:21 +01:00
2025-04-22 13:16:54 +01:00
2025-09-09 14:57:16 -07:00
2025-01-16 21:06:21 +00:00
2025-06-03 15:13:57 +02:00
2025-03-12 19:46:54 +01:00
2025-03-12 19:46:54 +01:00
2025-08-12 11:28:36 -04:00
2025-08-12 11:28:36 -04:00
2025-09-08 11:18:51 +02:00
2025-07-17 12:43:04 -04:00
2024-11-04 18:46:40 +01:00
2025-08-11 15:53:34 +01:00
2025-08-11 16:47:51 +01:00
2025-06-11 11:11:48 -07:00
2025-08-01 12:07:26 +01:00
2025-02-21 10:41:27 +01:00
2025-09-08 17:03:24 -04:00
2025-08-01 11:52:32 -04:00
2025-08-18 20:19:19 +01:00
2025-08-18 20:19:19 +01:00
2025-06-03 08:09:21 +01:00
2025-03-12 19:46:54 +01:00
2025-06-30 13:28:17 -04:00
2025-08-04 13:38:26 -04:00
2025-07-25 09:50:50 +02:00
2025-07-25 09:50:50 +02:00
2025-06-18 18:11:28 -03:00
2025-06-18 18:11:28 -03:00
2025-04-22 17:11:24 +10:00
2025-06-03 15:13:57 +02:00
2025-07-25 16:23:37 -07:00
2025-07-08 20:00:51 +01:00
2025-07-08 20:00:51 +01:00
2025-05-14 14:00:43 -07:00
2025-05-14 14:00:43 -07:00
2025-05-21 10:44:26 -07:00
2025-05-21 10:44:26 -07:00
2025-07-25 09:50:50 +02:00
2025-07-16 13:19:18 -07:00
2025-05-08 16:49:58 +01:00
2025-08-11 16:26:35 +01:00
2025-06-16 18:09:14 +00:00
2025-05-10 03:31:30 +00:00
2025-07-29 16:25:47 -07:00
2025-08-11 16:47:43 +01:00
2025-03-12 19:46:54 +01:00
2025-07-16 14:33:07 -07:00
2025-07-16 14:33:07 -07:00
2025-08-22 14:25:39 +00:00
2025-08-22 14:25:39 +00:00
2025-05-08 20:13:46 +00:00
2025-01-15 12:16:08 +01:00
2025-05-13 12:09:40 +02:00
2025-05-13 12:09:40 +02:00
2025-04-07 15:59:41 +02:00
2025-01-15 15:44:55 +01:00
2025-07-14 10:28:54 -04:00
2025-07-14 10:28:54 -04:00
2025-08-27 03:33:32 +10:00
2025-08-27 03:33:32 +10:00
2025-07-23 15:01:18 +01:00
2025-07-23 15:01:18 +01:00
2025-04-09 15:59:59 +01:00
2025-04-09 15:59:59 +01:00
2025-08-21 15:54:02 +01:00
2025-08-20 10:45:36 -07:00
2025-08-01 15:12:37 +02:00
2025-08-01 15:12:37 +02:00
2025-01-21 00:38:03 +10:00
2025-04-30 14:51:21 +02:00
2025-04-30 14:51:21 +02:00