wined3d: Get rid of surface_gdi_cleanup().

It's effectively the same as surface_cleanup(). The GL objects that
surface_cleanup() destroys are never created for "GDI" surfaces.
This commit is contained in:
Henri Verbeet 2011-10-23 18:23:59 +02:00 committed by Alexandre Julliard
parent 6e8273177a
commit e6101816a2
2 changed files with 2 additions and 38 deletions

View File

@ -1962,7 +1962,6 @@ static const struct wined3d_resource_ops surface_resource_ops =
static const struct wined3d_surface_ops surface_ops =
{
surface_private_setup,
surface_cleanup,
surface_realize_palette,
surface_draw_overlay,
surface_preload,
@ -2015,39 +2014,6 @@ static HRESULT gdi_surface_private_setup(struct wined3d_surface *surface)
return WINED3D_OK;
}
static void surface_gdi_cleanup(struct wined3d_surface *surface)
{
struct wined3d_surface *overlay, *cur;
TRACE("surface %p.\n", surface);
if (surface->flags & SFLAG_DIBSECTION)
{
/* Release the DC. */
SelectObject(surface->hDC, surface->dib.holdbitmap);
DeleteDC(surface->hDC);
/* Release the DIB section. */
DeleteObject(surface->dib.DIBsection);
surface->dib.bitmap_data = NULL;
surface->resource.allocatedMemory = NULL;
}
if (surface->flags & SFLAG_USERPTR)
wined3d_surface_set_mem(surface, NULL);
if (surface->overlay_dest)
list_remove(&surface->overlay_entry);
LIST_FOR_EACH_ENTRY_SAFE(overlay, cur, &surface->overlays, struct wined3d_surface, overlay_entry)
{
list_remove(&overlay->overlay_entry);
overlay->overlay_dest = NULL;
}
HeapFree(GetProcessHeap(), 0, surface->palette9);
resource_cleanup(&surface->resource);
}
static void gdi_surface_realize_palette(struct wined3d_surface *surface)
{
struct wined3d_palette *palette = surface->palette;
@ -2155,7 +2121,6 @@ static HRESULT gdi_surface_getdc(struct wined3d_surface *surface)
static const struct wined3d_surface_ops gdi_surface_ops =
{
gdi_surface_private_setup,
surface_gdi_cleanup,
gdi_surface_realize_palette,
gdi_surface_draw_overlay,
gdi_surface_preload,
@ -2915,7 +2880,7 @@ ULONG CDECL wined3d_surface_decref(struct wined3d_surface *surface)
if (!refcount)
{
surface->surface_ops->surface_cleanup(surface);
surface_cleanup(surface);
surface->resource.parent_ops->wined3d_object_destroyed(surface->resource.parent);
TRACE("Destroyed surface %p.\n", surface);
@ -7214,7 +7179,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, WINED3DSURFTYPE sur
if (FAILED(hr))
{
ERR("Private setup failed, returning %#x\n", hr);
surface->surface_ops->surface_cleanup(surface);
surface_cleanup(surface);
return hr;
}

View File

@ -1990,7 +1990,6 @@ struct wined3d_subresource_container
struct wined3d_surface_ops
{
HRESULT (*surface_private_setup)(struct wined3d_surface *surface);
void (*surface_cleanup)(struct wined3d_surface *surface);
void (*surface_realize_palette)(struct wined3d_surface *surface);
HRESULT (*surface_draw_overlay)(struct wined3d_surface *surface);
void (*surface_preload)(struct wined3d_surface *surface);