ddraw: Use unsafe_impl_from_IDirectDrawPalette for application provided interfaces.
diff --git a/dlls/ddraw/palette.c b/dlls/ddraw/palette.c
index b68cf82..ff78411 100644
--- a/dlls/ddraw/palette.c
+++ b/dlls/ddraw/palette.c
@@ -258,6 +258,13 @@
     IDirectDrawPaletteImpl_SetEntries
 };
 
+IDirectDrawPaletteImpl *unsafe_impl_from_IDirectDrawPalette(IDirectDrawPalette *iface)
+{
+    if (!iface) return NULL;
+    assert(iface->lpVtbl == &ddraw_palette_vtbl);
+    return CONTAINING_RECORD(iface, IDirectDrawPaletteImpl, lpVtbl);
+}
+
 HRESULT ddraw_palette_init(IDirectDrawPaletteImpl *palette,
         IDirectDrawImpl *ddraw, DWORD flags, PALETTEENTRY *entries)
 {