wined3d: Don't write past the end of the buffer's conversion_map.

This commit is contained in:
Henri Verbeet 2010-04-11 21:47:48 +02:00 committed by Alexandre Julliard
parent 5f7e087644
commit a4fad54134
1 changed files with 5 additions and 4 deletions

View File

@ -275,12 +275,13 @@ static BOOL buffer_process_converted_attribute(struct wined3d_buffer *This,
attrib_size = attrib->format_desc->component_count * attrib->format_desc->component_size;
for (i = 0; i < attrib_size; ++i)
{
if (This->conversion_map[data + i] != conversion_type)
DWORD_PTR idx = (data + i) % This->stride;
if (This->conversion_map[idx] != conversion_type)
{
TRACE("Byte %ld in vertex changed\n", i + data);
TRACE("It was type %d, is %d now\n", This->conversion_map[data + i], conversion_type);
TRACE("Byte %ld in vertex changed\n", idx);
TRACE("It was type %d, is %d now\n", This->conversion_map[idx], conversion_type);
ret = TRUE;
This->conversion_map[data + i] = conversion_type;
This->conversion_map[idx] = conversion_type;
}
}