Sergei Tachenov
48c2a4aafc
IJPL-187366 An attempt to fix race conditions in structure rebuild
...
The approach with concurrent launches is the main suspect
for various tool window glitches, like the content not showing
up or several tabs without names appearing in the header.
UI code is not designed to be concurrent, so when launching
several rebuilds, we need to wait until the previous one
has finished one way or another. But because of that
it seems that we don't even need concurrent launches.
To keep the cancel-on-content-manager-dispose semantics,
introduce a nested coroutine scope, cancelling it when
the tool window content manager is disposed.
Add some logging there as well so we can figure out
what's going wrong in case anything doesn't work.
(cherry picked from commit 743ce422c4c75d51635e7f459e68b83ec72d27c3)
IJ-CR-166271
GitOrigin-RevId: f9e72354fae924545004ef2308ad65c793c8ede4
2025-06-20 12:26:12 +00:00
..
2025-06-16 17:32:18 +00:00
2025-06-16 15:59:09 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-18 12:36:20 +00:00
2025-06-13 20:43:56 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 18:32:38 +00:00
2025-06-14 18:32:38 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-16 14:54:15 +00:00
2025-06-16 19:15:24 +00:00
2025-06-15 16:00:21 +00:00
2025-06-16 14:54:15 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 17:03:05 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 18:47:35 +00:00
2025-06-13 21:52:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-16 18:36:09 +00:00
2025-06-14 23:58:35 +00:00
2025-06-16 22:35:31 +00:00
2025-06-16 23:17:13 +00:00
2025-06-19 12:21:39 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 23:02:51 +00:00
2025-06-16 23:02:51 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 23:13:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-13 23:30:34 +00:00
2025-06-14 17:43:17 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 23:58:35 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-15 10:08:40 +00:00
2025-06-17 01:32:16 +00:00
2025-06-16 22:45:11 +00:00
2025-06-20 12:26:12 +00:00
2025-06-13 16:32:18 +00:00
2025-06-15 16:00:21 +00:00
2025-06-13 15:40:48 +00:00
2025-06-16 17:03:05 +00:00
2025-06-14 23:58:35 +00:00
2025-06-17 01:32:16 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 14:54:15 +00:00
2025-06-19 13:06:01 +00:00
2025-06-17 01:32:16 +00:00
2025-06-12 17:09:00 +00:00
2025-06-16 17:32:18 +00:00
2025-06-19 14:39:59 +00:00
2025-06-19 14:39:59 +00:00
2025-06-16 22:46:41 +00:00
2025-06-13 21:52:48 +00:00
2025-06-16 23:10:22 +00:00
2025-06-16 23:02:51 +00:00
2025-06-16 22:50:36 +00:00
2025-06-14 13:00:48 +00:00
2025-06-12 16:37:14 +00:00
2025-06-18 10:16:06 +00:00
2025-06-16 20:57:52 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 13:11:33 +00:00
2025-06-16 14:54:15 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-11 16:30:14 +00:00
2025-06-13 21:52:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 15:59:09 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 11:39:27 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-19 18:32:28 +00:00
2025-06-12 17:14:41 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 18:49:27 +00:00
2025-06-19 12:38:20 +00:00
2025-06-14 13:00:48 +00:00
2025-06-14 13:00:48 +00:00
2025-06-16 23:02:51 +00:00
2025-06-11 15:45:38 +00:00
2025-06-16 14:20:06 +00:00
2025-06-16 20:34:47 +00:00
2025-06-14 13:00:48 +00:00