Hi Oliver,
+HRESULT WINAPI IWineD3DDeviceImpl_CreateQuery(IWineD3DDevice *iface, D3DQUERYTYPE Type, IWineD3DQuery** ppQuery){ + IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface; + + if(NULL == ppQuery){ + /*Just a check to see if we support this type of query*/ + HRESULT hr = D3DERR_NOTAVAILABLE; + /*Lie and say everything is good (we can return ok fake data from a stub)*/ + switch(Type){ + case WINED3DQUERYTYPE_VCACHE: + hr = D3D_OK; + case WINED3DQUERYTYPE_RESOURCEMANAGER: + hr = D3D_OK;
These are missing a break statement. Better style would be to take advantage of the fallthrough like so: + switch(Type){ + case WINED3DQUERYTYPE_VCACHE: + case WINED3DQUERYTYPE_RESOURCEMANAGER: (all the other WINED3DQUERYTYPE_ cases) + hr = D3D_OK; + break;
+struct IWineD3DQueryImpl +{ + IWineD3DQueryVtbl *lpVtbl; + DWORD ref; /* Note: Ref counting not required */ + IWineD3DDeviceImpl *wineD3DDevice; + /* IWineD3DQuery fields */ + D3DQUERYTYPE type; + void *data; + int dataSize; + + +};
What's with the couple of blank lines in the struct declaration? Yeah, so I'm picky ;)
+DWORD WINAPI IWineD3DQueryImpl_GetDataSize(IWineD3DQuery* iface){ + IWineD3DQueryImpl *This = (IWineD3DQueryImpl *)iface; + FIXME("(%p) : stub \n", This); + int dataSize = 0; + switch(This->type){ + case WINED3DQUERYTYPE_VCACHE: + dataSize = sizeof(D3DDEVINFO_VCACHE); + case WINED3DQUERYTYPE_RESOURCEMANAGER:
Aren't these case statements missing a break statement too?
--Juan
__________________________________ Do you Yahoo!? All your favorites on one personal page � Try My Yahoo! http://my.yahoo.com