18 Oct
2022
18 Oct
'22
5:04 a.m.
Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/effect.c:
+ + TRACE("iface %p, parameter %p, data %p, byte_offset %u, bytes %u.\n", iface, parameter, data, byte_offset, bytes);
- return E_NOTIMPL; + if (!src) + { + WARN("Invalid variable.\n"); + return E_FAIL; + } + + if (!data || !param || !(raw = param_get_data_and_dirtify( src, param, + byte_offset + bytes, TRUE ))) + return D3DERR_INVALIDCALL; + + memcpy( raw, data, bytes ); This should presumably copy data to an offset inside "raw", right?
Actually, this poses an issue with preserving the existing contents over the part that's skipped over. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/979#note_11085