From 653d57a22a6462a65fbb183cfba25f76e7672a85 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <marcus@jet.franken.de>
Date: Fri, 23 Jun 2000 16:50:24 +0000
Subject: [PATCH] Dump FourCC correctly, print conversion messages, add
 reference to ddraw in DDSurface::GetDDInterface.

---
 dlls/ddraw/dsurface/main.c |  2 ++
 dlls/ddraw/helper.c        | 10 ++++++++--
 dlls/ddraw/x11.c           |  7 ++++++-
 3 files changed, 16 insertions(+), 3 deletions(-)

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
-- 
GitLab