Bastien Montagne
9859622a66
BKE_reports: make the API thread-safe.
...
This commit makes using (most of) `BKE_report` API safe in
multi-threaded situation.
This is achieved by adding a `std::mutex` lock to the `ReportList`
struct (in a slightly convoluted way unfortunately, due to this being a
DNA struct). This lock is then used to make most operations on
`Reportlist` data thread-safe.
Note that while working on this, a few other minor issues aroze in
existing usages of Reportlist by the WM code, mainly the fact that
`wm_init_reports` and `wm_free_reports` were both useless:
- init was called in a context where there is not yet any WM, so it
was doing nothing.
- free was called on a WM that would be later freed (as part of Main
freeing), which would also call cleanup code for its `reports` data.
Both have been removed.
Further more, `wm_add_default` (which is the only place where a WM ID is
created) did not initialize properly it reports data, this has been
fixed.
This change is related to the wmJob thread-safety tasks and PRs (#112537 ,
!113548 ).
Pull Request: https://projects.blender.org/blender/blender/pulls/113561
2023-10-13 11:29:59 +02:00
..
2023-10-13 11:29:59 +02:00
2023-08-29 14:31:18 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-24 16:33:31 +02:00
2023-05-31 16:19:06 +02:00
2023-05-31 16:19:06 +02:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-09-25 10:56:12 +02:00
2023-09-26 14:17:21 +02:00
2023-08-16 00:20:26 +10:00
2023-09-26 16:38:50 +02:00
2023-08-16 00:20:26 +10:00
2023-10-12 13:54:32 +02:00
2023-10-09 15:23:48 +02:00
2023-08-16 00:20:26 +10:00
2023-09-26 20:30:46 +02:00
2023-09-03 13:37:50 +02:00
2023-09-03 13:37:50 +02:00
2023-09-03 13:37:50 +02:00
2023-09-03 13:37:50 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-10-03 12:18:36 +02:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-07-10 18:12:41 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-10 14:51:40 +03:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-09-25 17:06:04 +10:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-30 22:36:36 +02:00
2023-10-03 14:12:42 +02:00
2023-09-08 16:53:30 +10:00
2023-09-19 15:43:56 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-09-06 22:03:16 +10:00
2023-08-16 00:20:26 +10:00
2023-10-09 15:23:48 +02:00
2023-08-16 00:20:26 +10:00
2023-10-06 10:49:54 +02:00
2023-08-16 00:20:26 +10:00
2023-10-11 11:35:11 +02:00
2023-08-16 00:20:26 +10:00
2023-10-05 13:57:14 +11:00
2023-07-24 22:06:55 +02:00
2023-05-31 16:19:06 +02:00
2023-06-15 22:18:28 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-07-31 13:02:30 +10:00
2023-08-16 00:20:26 +10:00
2023-09-05 11:04:27 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-10-12 13:54:32 +02:00
2023-08-16 00:20:26 +10:00
2023-10-12 15:42:04 +02:00
2023-10-05 13:33:37 +11:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-09-27 14:47:50 +10:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-10-12 08:04:53 -07:00
2023-09-04 18:02:16 +02:00
2023-09-22 12:21:18 +10:00
2023-08-16 00:20:26 +10:00
2023-08-25 09:40:42 +10:00
2023-07-04 17:03:02 +02:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-07-31 13:02:30 +10:00
2023-10-07 23:14:04 +02:00
2023-07-31 13:02:30 +10:00
2023-08-16 00:20:26 +10:00
2023-07-24 22:06:55 +02:00
2023-08-16 00:20:26 +10:00
2023-07-31 13:02:30 +10:00
2023-08-25 09:40:42 +10:00
2023-07-31 13:02:30 +10:00
2023-10-10 16:56:48 +02:00
2023-08-23 16:44:56 +02:00
2023-09-05 11:04:27 +10:00
2023-05-31 16:19:06 +02:00
2023-09-25 18:00:28 +02:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-07-27 16:21:38 +02:00
2023-08-16 00:20:26 +10:00
2023-08-08 17:36:06 +02:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-03 09:44:28 +10:00
2023-08-30 23:41:59 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 11:47:29 -04:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-30 23:41:59 +02:00
2023-08-16 00:20:26 +10:00
2023-08-31 14:22:22 -04:00
2023-09-07 08:36:43 -04:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-08-03 01:11:28 +02:00
2023-09-27 13:03:29 +10:00
2023-09-28 11:24:48 +02:00
2023-10-04 19:21:07 +02:00
2023-08-16 00:20:26 +10:00
2023-09-22 15:43:59 +02:00
2023-10-10 10:57:51 +02:00
2023-08-16 00:20:26 +10:00
2023-10-08 14:38:28 +02:00
2023-10-12 17:51:37 +02:00
2023-08-16 00:20:26 +10:00
2023-10-10 00:55:58 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-09-26 14:21:07 +02:00
2023-08-29 17:00:33 +02:00
2023-10-13 09:44:35 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-18 08:56:12 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-09-22 08:08:19 -04:00
2023-10-13 11:29:59 +02:00
2023-08-16 00:20:26 +10:00
2023-08-08 17:36:06 +02:00
2023-10-12 10:33:29 -07:00
2023-08-16 00:20:26 +10:00
2023-08-24 16:33:31 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-30 22:36:36 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-31 19:40:39 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-29 17:00:33 +02:00
2023-08-16 00:20:26 +10:00
2023-09-19 11:09:20 +10:00
2023-06-07 14:17:37 +02:00
2023-09-14 13:25:24 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-06-26 13:09:06 +10:00
2023-05-31 16:19:06 +02:00
2023-09-27 11:09:39 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-05-31 16:19:06 +02:00
2023-06-19 12:40:37 +10:00
2023-06-19 12:40:37 +10:00
2023-10-09 23:41:53 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00