diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index dabea1f5b2b..f3f00c153ac 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -2021,6 +2021,8 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_CreateMesh(IDirect3DRMMeshBuil hr = E_OUTOFMEMORY; } } + if (SUCCEEDED(hr)) + hr = IDirect3DRMMesh_SetGroupColor(*mesh, 0, This->color); if (SUCCEEDED(hr)) hr = IDirect3DRMMesh_SetGroupMaterial(*mesh, 0, (LPDIRECT3DRMMATERIAL)This->material); if (FAILED(hr)) diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c index 54a356aa92a..f351b022585 100644 --- a/dlls/d3drm/tests/d3drm.c +++ b/dlls/d3drm/tests/d3drm.c @@ -369,7 +369,7 @@ static void test_MeshBuilder(void) todo_wine ok(nb_face_vertices == 3, "Wrong number of vertices per face %u (must be 3)\n", nb_face_vertices); todo_wine ok(data_size == 3, "Wrong number of face data bytes %u (must be 3)\n", data_size); color = IDirect3DRMMesh_GetGroupColor(mesh, 0); - todo_wine ok(color == 0xff00ff00, "Wrong color returned %#x instead of %#x\n", color, 0xff00ff00); + ok(color == 0xff00ff00, "Wrong color returned %#x instead of %#x\n", color, 0xff00ff00); hr = IDirect3DRMMesh_GetGroupTexture(mesh, 0, &texture); ok(hr == D3DRM_OK, "GetCroupTexture failed returning hr = %x\n", hr); ok(texture == NULL, "No texture should be present\n");