NtGdiDdCreateDirectDrawObject

- add missing error checking for GDIOBJ_AllocObj 
- add missing error checking for GDIOBJ_LockObj 

svn path=/trunk/; revision=18280
This commit is contained in:
Magnus Olsen 2005-10-05 19:50:48 +00:00
parent b6c5bedb31
commit c82718f9a2

View file

@ -50,9 +50,7 @@ HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
DC_UnlockDc(pDC);
return NULL;
}
BOOL success = pDC->DriverFunctions.EnableDirectDraw(
pDC->PDev, &callbacks, &surface_callbacks, &palette_callbacks);
@ -64,7 +62,21 @@ HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
}
HANDLE hDirectDraw = GDIOBJ_AllocObj(GDI_OBJECT_TYPE_DIRECTDRAW);
if (!hDirectDraw)
{
/* No more memmory */
DC_UnlockDc(pDC);
return NULL;
}
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDraw, GDI_OBJECT_TYPE_DIRECTDRAW);
if (!pDirectDraw)
{
/* invalid handle */
DC_UnlockDc(pDC);
return NULL;
}
pDirectDraw->Global.dhpdev = pDC->PDev;
pDirectDraw->Local.lpGbl = &pDirectDraw->Global;