[PATCH 3/5] d3drm: Fix frame object creation method. (v3 resend)
Henri Verbeet
hverbeet at gmail.com
Sun Jun 19 08:19:25 CDT 2016
On 19 June 2016 at 00:29, Aaryaman Vasishta <jem456.vasishta at gmail.com> wrote:
> diff --git a/dlls/d3drm/d3drm_private.h b/dlls/d3drm/d3drm_private.h
> index 817accf..1f4094b 100644
> --- a/dlls/d3drm/d3drm_private.h
> +++ b/dlls/d3drm/d3drm_private.h
> @@ -44,6 +44,27 @@ struct d3drm_texture
> D3DRMIMAGE *image;
> };
>
> +struct d3drm_frame
> +{
> + IDirect3DRMFrame IDirect3DRMFrame_iface;
> + IDirect3DRMFrame2 IDirect3DRMFrame2_iface;
> + IDirect3DRMFrame3 IDirect3DRMFrame3_iface;
> + IDirect3DRM *d3drm;
> + LONG ref;
> + struct d3drm_frame *parent;
> + ULONG nb_children;
> + ULONG children_capacity;
> + IDirect3DRMFrame3** children;
> + ULONG nb_visuals;
> + ULONG visuals_capacity;
> + IDirect3DRMVisual** visuals;
> + ULONG nb_lights;
> + ULONG lights_capacity;
> + IDirect3DRMLight** lights;
> + D3DRMMATRIX4D transform;
> + D3DCOLOR scenebackground;
> +};
"IDirect3DRMFrame3 **children", "IDirect3DRMVisual **visuals" and
"IDirect3DRMLight **lights".
> @@ -51,11 +72,11 @@ void d3drm_object_cleanup(IDirect3DRMObject *iface, struct d3drm_object *object)
>
> HRESULT d3drm_device_create(struct d3drm_device **out) DECLSPEC_HIDDEN;
> HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm) DECLSPEC_HIDDEN;
> +HRESULT d3drm_frame_create(struct d3drm_frame **frame, IUnknown* parent_frame, IDirect3DRM *d3drm) DECLSPEC_HIDDEN;
"IUnknown *parent_frame".
> -HRESULT Direct3DRMFrame_create(REFIID riid, IUnknown *parent, IUnknown **out)
> +HRESULT d3drm_frame_create(struct d3drm_frame **frame, IUnknown* parent_frame, IDirect3DRM *d3drm)
Like above.
> {
> struct d3drm_frame *object;
> - HRESULT hr;
> + HRESULT hr = D3DRM_OK;
>
> - TRACE("riid %s, parent %p, out %p.\n", debugstr_guid(riid), parent, out);
> + TRACE("out %p, parent_frame %p, d3drm %p.\n", frame, parent_frame, d3drm);
"frame" instead of "out".
> + if (parent_frame)
> {
> IDirect3DRMFrame3 *p;
>
> - hr = IDirect3DRMFrame_QueryInterface(parent, &IID_IDirect3DRMFrame3, (void**)&p);
> + hr = IDirect3DRMFrame_QueryInterface(parent_frame, &IID_IDirect3DRMFrame3, (void**)&p);
> if (hr != S_OK)
"if (FAILED(hr = ...))" and "(void **)".
More information about the wine-devel
mailing list