Re: d3dx9 [patch 1/2]: Implement D3DXCreatePolygon
2013/8/1 Nozomi Kodama <nozomi.kodama(a)yahoo.com>:
+ vertices = HeapAlloc(GetProcessHeap(), 0, 2 * (sides + 1) * sizeof(D3DXVECTOR3)); + if (!vertices) + { + TRACE("Not memory enough for vertex buffer\n"); + polygon->lpVtbl->Release(polygon); + return E_OUTOFMEMORY; + } + + hr = polygon->lpVtbl->LockVertexBuffer(polygon, D3DLOCK_DISCARD, (VOID **)&vertices); Why are you allocating memory and immediately dropping track of it? Recheck how ID3DXMesh::LockVertexBuffer works. Also I'm having a deja-vu here, this patch looks suspiciously similar (up to having this same issue) to one I've already reviewed in the past.
________________________________ De : Matteo Bruni <matteo.mystral(a)gmail.com> À : Nozomi Kodama <nozomi.kodama(a)yahoo.com> Cc : Wine Devel <wine-devel(a)winehq.org> Envoyé le : Jeudi 1 août 2013 9h46 Objet : Re: d3dx9 [patch 1/2]: Implement D3DXCreatePolygon 2013/8/1 Nozomi Kodama <nozomi.kodama(a)yahoo.com>:
+ vertices = HeapAlloc(GetProcessHeap(), 0, 2 * (sides + 1) * sizeof(D3DXVECTOR3)); + if (!vertices) + { + TRACE("Not memory enough for vertex buffer\n"); + polygon->lpVtbl->Release(polygon); + return E_OUTOFMEMORY; + } + + hr = polygon->lpVtbl->LockVertexBuffer(polygon, D3DLOCK_DISCARD, (VOID **)&vertices); Why are you allocating memory and immediately dropping track of it? Recheck how ID3DXMesh::LockVertexBuffer works. It is a leftover of my tests about the requested size of the buffer :( .... Also I'm having a deja-vu here, this patch looks suspiciously similar (up to having this same issue) to one I've already reviewed in the past. I don't understand what you mean here. Can you tell more? I send a newer version. This one should be fine. Nozomi.
participants (2)
-
Matteo Bruni -
Nozomi Kodama