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-09-27 01:45:59 +02:00
2023-08-16 00:20:26 +10:00
2023-09-27 13:03:29 +10:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-26 15:43:59 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-25 12:05:50 +10:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-08-22 15:49:34 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-06 14:23:01 +10:00
2023-08-16 00:20:26 +10:00
2023-09-28 11:46:52 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-27 10:26:06 +02:00
2023-09-04 15:59:40 +02: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-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-25 13:20:17 +10:00
2023-09-25 12:05:50 +10:00
2023-09-25 12:05:50 +10:00
2023-09-25 12:05:50 +10:00
2023-09-04 15:59:40 +02:00
2023-10-12 15:42:04 +02:00
2023-08-16 00:20:26 +10:00
2023-09-03 21:35:07 +10:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-11 20:14:04 +02:00
2023-09-26 23:42:40 +02:00
2023-09-26 23:42:40 +02:00
2023-10-10 14:50:17 +02:00
2023-10-11 19:38:42 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-10-05 14:49:51 +03:00
2023-08-16 00:20:26 +10:00
2023-10-09 17:02:14 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-07 08:36:43 -04:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-26 20:30:46 +02:00
2023-08-16 00:20:26 +10:00
2023-10-05 14:49:51 +03:00
2023-09-04 15:59:40 +02:00
2023-10-12 14:04:44 +02:00
2023-10-12 18:56:12 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-10-08 19:49:58 +02:00
2023-09-18 12:14:54 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-26 23:46:08 +02:00
2023-05-31 16:19:06 +02:00
2023-10-05 16:02:49 +02:00
2023-10-11 11:48:37 +02:00
2023-09-04 15:59:40 +02:00
2023-09-27 01:45:59 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-25 17:06:04 +10:00
2023-08-16 00:20:26 +10:00
2023-10-12 16:51:44 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-10-05 14:49:51 +03:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-10-12 16:20:18 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-08-16 00:20:26 +10:00
2023-09-04 15:59:40 +02:00
2023-10-13 11:29:59 +02:00
2023-09-04 15:59:40 +02:00
2023-08-16 00:20:26 +10:00
2023-10-10 14:50:17 +02:00
2023-09-04 15:59:40 +02:00