On 3 June 2014 09:41, Stefan Dösinger stefan@codeweavers.com wrote:
@@ -473,17 +473,17 @@ static HRESULT ddraw_surface_set_palette(struct ddraw_surface *surface, IDirectD prev->flags &= ~DDPCAPS_PRIMARYSURFACE; if (palette_impl) palette_impl->flags |= DDPCAPS_PRIMARYSURFACE;
/* Update the wined3d frontbuffer if this is the primary. */
if (surface->ddraw->wined3d_frontbuffer)
wined3d_surface_set_palette(surface->ddraw->wined3d_frontbuffer,
/* Update the wined3d swapchain if this is the primary. */
if (surface->ddraw->wined3d_swapchain)
wined3d_swapchain_set_palette(surface->ddraw->wined3d_swapchain, palette_impl ? palette_impl->wineD3DPalette : NULL);
ddraw_surface_update_frontbuffer(surface, NULL, FALSE);
Can this get called when wined3d_swapchain is NULL? The main case I'm not sure of would be ddraw_destroy_swapchain(), but in that case you may not want to call ddraw_surface_update_frontbuffer() either.