wined3d: Do not call wined3d_buffer_map() before "buffer->maps" is initialized.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
d39560f33f
commit
0dcf255b51
@ -1331,17 +1331,6 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
|
|||||||
buffer->flags |= WINED3D_BUFFER_CREATEBO;
|
buffer->flags |= WINED3D_BUFFER_CREATEBO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data)
|
|
||||||
{
|
|
||||||
if (FAILED(hr = wined3d_buffer_upload_data(buffer, NULL, data->data)))
|
|
||||||
{
|
|
||||||
ERR("Failed to upload data, hr %#x.\n", hr);
|
|
||||||
buffer_unload(&buffer->resource);
|
|
||||||
resource_cleanup(&buffer->resource);
|
|
||||||
return hr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(buffer->maps = HeapAlloc(GetProcessHeap(), 0, sizeof(*buffer->maps))))
|
if (!(buffer->maps = HeapAlloc(GetProcessHeap(), 0, sizeof(*buffer->maps))))
|
||||||
{
|
{
|
||||||
ERR("Out of memory.\n");
|
ERR("Out of memory.\n");
|
||||||
@ -1351,6 +1340,15 @@ static HRESULT buffer_init(struct wined3d_buffer *buffer, struct wined3d_device
|
|||||||
}
|
}
|
||||||
buffer->maps_size = 1;
|
buffer->maps_size = 1;
|
||||||
|
|
||||||
|
if (data && FAILED(hr = wined3d_buffer_upload_data(buffer, NULL, data->data)))
|
||||||
|
{
|
||||||
|
ERR("Failed to upload data, hr %#x.\n", hr);
|
||||||
|
buffer_unload(&buffer->resource);
|
||||||
|
resource_cleanup(&buffer->resource);
|
||||||
|
HeapFree(GetProcessHeap(), 0, buffer->maps);
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
return WINED3D_OK;
|
return WINED3D_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user