22 Nov
2023
22 Nov
'23
11:52 p.m.
Nikolay Sivov (@nsivov) commented about dlls/d2d1/device.c:
render_target->device = device; ID2D1Device1_AddRef(&render_target->device->ID2D1Device1_iface);
+ ID2D1Factory_QueryInterface(render_target->factory, &IID_ID2D1Multithread, (void **)&multithread); + if (ID2D1Multithread_GetMultithreadProtected(multithread)) { + render_target->cs = d2d_factory_mt_get_cs(multithread); + } else { + render_target->cs = NULL; + } + ID2D1Multithread_Release(multithread); +
I would store "struct d2d_factory *" instead, and then you can have some helper to leave/enter with it. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4452#note_53464