diff --git a/dlls/ddraw/dsurface/main.c b/dlls/ddraw/dsurface/main.c index 5456115153f..654bfd2db9f 100644 --- a/dlls/ddraw/dsurface/main.c +++ b/dlls/ddraw/dsurface/main.c @@ -1084,6 +1084,8 @@ HRESULT WINAPI IDirectDrawSurface4Impl_GetDDInterface( FIXME("(%p)->(%p),stub!\n", This, lplpDD); /* Not sure about that... */ + + IDirectDraw_AddRef((LPDIRECTDRAW)This->s.ddraw), *lplpDD = (void *) This->s.ddraw; return DD_OK; diff --git a/dlls/ddraw/helper.c b/dlls/ddraw/helper.c index eaf24c4c82c..aadf49122fe 100644 --- a/dlls/ddraw/helper.c +++ b/dlls/ddraw/helper.c @@ -221,8 +221,14 @@ void _dump_pixelformat(void *in) { DPRINTF("( "); _dump_pixelformat_flag(pf->dwFlags); - if (pf->dwFlags & DDPF_FOURCC) - DPRINTF(", dwFourCC : %ld", pf->dwFourCC); + if (pf->dwFlags & DDPF_FOURCC) { + DPRINTF(", dwFourCC : %c%c%c%c", + (pf->dwFourCC>>24)&0xff, + (pf->dwFourCC>>16)&0xff, + (pf->dwFourCC>> 8)&0xff, + pf->dwFourCC &0xff + ); + } if (pf->dwFlags & DDPF_RGB) { char *cmd; DPRINTF(", RGB bits: %ld, ", pf->u.dwRGBBitCount); diff --git a/dlls/ddraw/x11.c b/dlls/ddraw/x11.c index 6d835b3fa9e..117604c5cb6 100644 --- a/dlls/ddraw/x11.c +++ b/dlls/ddraw/x11.c @@ -71,7 +71,12 @@ static HRESULT X11_Create( LPDIRECTDRAW *lplpDD ) { /* At DirectDraw creation, the depth is the default depth */ depth = DefaultDepthOfScreen(X11DRV_GetXScreen()); - _common_depth_to_pixelformat(depth,(LPDIRECTDRAW)ddraw); + switch (_common_depth_to_pixelformat(depth,(LPDIRECTDRAW)ddraw)) { + case -2: ERR("no depth conversion mode for depth %d found\n",depth); break; + case -1: WARN("No conversion needed for depth %d.\n",depth); break; + case 0: MESSAGE("Conversion needed from %d.\n",depth); break; + } + ddraw->d.height = MONITOR_GetHeight(&MONITOR_PrimaryMonitor); ddraw->d.width = MONITOR_GetWidth(&MONITOR_PrimaryMonitor); #ifdef HAVE_LIBXXSHM