Hi Paul,
On 2/8/22 17:34, Paul Gofman wrote:
- if (!(dc = grab_dc( hdc ))) return NULL;
- physdev = GET_DC_PHYSDEV( dc, wine_get_wgl_driver );
- ret = physdev->funcs->wine_get_wgl_driver( physdev, version );
- InterlockedCompareExchangePointer( (void * volatile *)&dc->gl_funcs, ret, NULL );
- put_dc( hdc );
That doesn't seem thread safe, another thread may be modifying driver functions chain while we're reading it here.
Thanks,
Jacek