wined3d: Fix the d3dfmt_p8_init_palette() prototype.
Francois Gouget
fgouget at free.fr
Sun Oct 14 07:34:47 CDT 2007
---
BYTE (*table)[4] looks a bit like a function pointer but it's not as
there's no parameter list. It also looks like BYTE* table[4] which is a
4-entry array of pointers but gcc says it's not the same thing.
Anyway, what the implementation considers it to be a 1024 byte block
organized as a two-dimensional array. So that's how I've redefined it.
What I don't understand though is why there was no compilation error or
at least a warning before.
dlls/wined3d/surface.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index fc1b10d..d8ea004 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -34,7 +34,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d_surface);
#define GLINFO_LOCATION This->resource.wineD3DDevice->adapter->gl_info
HRESULT d3dfmt_convert_surface(BYTE *src, BYTE *dst, UINT pitch, UINT width, UINT height, UINT outpitch, CONVERT_TYPES convert, IWineD3DSurfaceImpl *surf);
-static void d3dfmt_p8_init_palette(IWineD3DSurfaceImpl *This, BYTE (*table)[4], BOOL colorkey);
+static void d3dfmt_p8_init_palette(IWineD3DSurfaceImpl *This, BYTE table[256][4], BOOL colorkey);
static void surface_download_data(IWineD3DSurfaceImpl *This) {
if (!(This->resource.allocatedMemory || This->Flags & SFLAG_PBO)) This->resource.allocatedMemory = HeapAlloc(GetProcessHeap(), 0, This->resource.size + 4);
@@ -1909,7 +1909,7 @@ HRESULT d3dfmt_convert_surface(BYTE *src, BYTE *dst, UINT pitch, UINT width, UIN
return WINED3D_OK;
}
-static void d3dfmt_p8_init_palette(IWineD3DSurfaceImpl *This, BYTE (*table)[4], BOOL colorkey) {
+static void d3dfmt_p8_init_palette(IWineD3DSurfaceImpl *This, BYTE table[256][4], BOOL colorkey) {
IWineD3DPaletteImpl* pal = This->palette;
IWineD3DDeviceImpl *device = This->resource.wineD3DDevice;
BOOL index_in_alpha = FALSE;
--
1.5.3.2
More information about the wine-patches
mailing list