On Wed, Jun 19, 2019 at 5:01 PM Henri Verbeet hverbeet@codeweavers.com wrote:
@@ -1432,9 +1435,7 @@ static HRESULT WINAPI d3drm_frame2_GetTransform(IDirect3DRMFrame2 *iface, D3DRMM
TRACE("iface %p, matrix %p.\n", iface, matrix);
- memcpy(matrix, frame->transform, sizeof(D3DRMMATRIX4D));
- return D3DRM_OK;
- return d3drm_frame3_GetTransform(&frame->IDirect3DRMFrame3_iface, NULL, matrix);
}
static HRESULT WINAPI d3drm_frame1_GetTransform(IDirect3DRMFrame *iface, D3DRMMATRIX4D matrix) @@ -1443,7 +1444,7 @@ static HRESULT WINAPI d3drm_frame1_GetTransform(IDirect3DRMFrame *iface, D3DRMMA
TRACE("iface %p, matrix %p.\n", iface, matrix);
- return d3drm_frame2_GetTransform(&frame->IDirect3DRMFrame2_iface, matrix);
- return d3drm_frame3_GetTransform(&frame->IDirect3DRMFrame3_iface, NULL, matrix);
}
Hi Henri,
I would advise against implementing d3drm_frame2_GetTransform and d3drm_frame1_GetTransform by calling on d3drm_frame3_GetTransform. While that currently would work, because the reference is ignored, it will not work with a properly-implemented d3drm_frame3_GetTransform. I have such a fix in my queue for GetTransform to properly use the reference, and so I would have to revert your changes to make it all correct. I suggest taking these hunks out, and just change 'memcpy(...)' to 'matrix = frame->transform' as you've done elsewhere.
-- Jeff