diff --git a/dlls/ddraw/dsurface/main.c b/dlls/ddraw/dsurface/main.c index 5456115153fe066129ea4279699e318842a84534..654bfd2db9f9372bc7e6558eb47b323007e5119d 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 eaf24c4c82c3bc4ffe80eafdd3a82266ef6d412d..aadf49122fe994707be8be949441715ed6deccb5 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 6d835b3fa9eaae9b48b176032ab5f03bcd9ec481..117604c5cb67d49dbe577cec1580822fa7c8dd67 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