Fixed error handling in DGA_IDirectDraw2Impl_GetCaps().
diff --git a/graphics/ddraw.c b/graphics/ddraw.c
index 29c1a65..a16b6ca 100644
--- a/graphics/ddraw.c
+++ b/graphics/ddraw.c
@@ -1557,7 +1557,7 @@
b_info,
usage,
&(This->s.bitmap_data),
- NULL,
+ (HANDLE)0,
0);
EndPaint(This->s.ddraw->d.mainWindow,&This->s.ddraw->d.ps);
TRACE(ddraw, "DIBSection at : %p\n", This->s.bitmap_data);
@@ -3643,6 +3643,8 @@
#ifdef HAVE_LIBXXF86DGA
ICOM_THIS(IDirectDraw2Impl,iface);
TRACE(ddraw,"(%p)->GetCaps(%p,%p)\n",This,caps1,caps2);
+ if (!caps1 && !caps2)
+ return DDERR_INVALIDPARAMS;
if (caps1) {
caps1->dwVidMemTotal = This->e.dga.fb_memsize;
caps1->dwCaps = 0xffffffff&~(DDCAPS_BANKSWITCHED); /* we can do anything */