From 0b55384f0dc5382998bb2cc39c317d393ff7657a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sun, 26 Apr 2020 22:58:28 -0500 Subject: [PATCH] ddraw: Make palette and remaining surface vtbls writable. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46949 Signed-off-by: Zebediah Figura Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/ddraw/palette.c | 3 ++- dlls/ddraw/surface.c | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dlls/ddraw/palette.c b/dlls/ddraw/palette.c index 980c62b60b4..68fb3a53207 100644 --- a/dlls/ddraw/palette.c +++ b/dlls/ddraw/palette.c @@ -215,7 +215,8 @@ static HRESULT WINAPI ddraw_palette_GetEntries(IDirectDrawPalette *iface, return hr; } -static const struct IDirectDrawPaletteVtbl ddraw_palette_vtbl = +/* Some windowed mode wrappers expect this vtbl to be writable. */ +static struct IDirectDrawPaletteVtbl ddraw_palette_vtbl = { /*** IUnknown ***/ ddraw_palette_QueryInterface, diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 44230838352..ba56fad9644 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -5406,7 +5406,8 @@ static HRESULT WINAPI d3d_texture1_Load(IDirect3DTexture *iface, IDirect3DTextur * The VTable *****************************************************************************/ -static const struct IDirectDrawSurface7Vtbl ddraw_surface7_vtbl = +/* Some windowed mode wrappers expect this vtbl to be writable. */ +static struct IDirectDrawSurface7Vtbl ddraw_surface7_vtbl = { /* IUnknown */ ddraw_surface7_QueryInterface, @@ -5465,7 +5466,8 @@ static const struct IDirectDrawSurface7Vtbl ddraw_surface7_vtbl = ddraw_surface7_GetLOD, }; -static const struct IDirectDrawSurface4Vtbl ddraw_surface4_vtbl = +/* Some windowed mode wrappers expect this vtbl to be writable. */ +static struct IDirectDrawSurface4Vtbl ddraw_surface4_vtbl = { /* IUnknown */ ddraw_surface4_QueryInterface, @@ -5519,7 +5521,8 @@ static const struct IDirectDrawSurface4Vtbl ddraw_surface4_vtbl = ddraw_surface4_ChangeUniquenessValue, }; -static const struct IDirectDrawSurface3Vtbl ddraw_surface3_vtbl = +/* Some windowed mode wrappers expect this vtbl to be writable. */ +static struct IDirectDrawSurface3Vtbl ddraw_surface3_vtbl = { /* IUnknown */ ddraw_surface3_QueryInterface, @@ -5567,7 +5570,8 @@ static const struct IDirectDrawSurface3Vtbl ddraw_surface3_vtbl = ddraw_surface3_SetSurfaceDesc, }; -static const struct IDirectDrawSurface2Vtbl ddraw_surface2_vtbl = +/* Some windowed mode wrappers expect this vtbl to be writable. */ +static struct IDirectDrawSurface2Vtbl ddraw_surface2_vtbl = { /* IUnknown */ ddraw_surface2_QueryInterface,