Module: wine Branch: master Commit: 6523ef5f679950627a79dc2c802ea6655c73c3c0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6523ef5f679950627a79dc2c80...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Mon Dec 5 22:06:55 2011 +0100
ddraw: Don't enumerate surfaces without references.
---
dlls/ddraw/ddraw.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index 03d8b1c..b344b81 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -3422,6 +3422,13 @@ static HRESULT WINAPI ddraw7_EnumSurfaces(IDirectDraw7 *iface, DWORD Flags, LIST_FOR_EACH_SAFE(entry, entry2, &This->surface_list) { surf = LIST_ENTRY(entry, IDirectDrawSurfaceImpl, surface_list_entry); + + if (!surf->iface_count) + { + WARN("Not enumerating surface %p because it doesn't have any references.\n", surf); + continue; + } + if (all || (nomatch != ddraw_match_surface_desc(DDSD, &surf->surface_desc))) { TRACE("Enumerating surface %p.\n", surf);