Alexandre Julliard : winex11: Add a debug helper for printing clipboard formats.

Alexandre Julliard julliard at winehq.org
Fri Mar 4 09:39:34 CST 2011


Module: wine
Branch: master
Commit: ade3b4f148fc681be975c28290786638538b1219
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ade3b4f148fc681be975c28290786638538b1219

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Mar  3 21:09:22 2011 +0100

winex11: Add a debug helper for printing clipboard formats.

---

 dlls/winex11.drv/clipboard.c |   57 +++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/dlls/winex11.drv/clipboard.c b/dlls/winex11.drv/clipboard.c
index 30aee96..c281bef 100644
--- a/dlls/winex11.drv/clipboard.c
+++ b/dlls/winex11.drv/clipboard.c
@@ -310,6 +310,44 @@ static Window thread_selection_wnd(void)
     return w;
 }
 
+static const char *debugstr_format( UINT id )
+{
+    if (id >= 0xc000)
+    {
+        WCHAR buffer[256];
+        GlobalGetAtomNameW( id, buffer, 256 );
+        return wine_dbg_sprintf( "%04x %s", id, debugstr_w(buffer) );
+    }
+    switch (id)
+    {
+#define BUILTIN(id) case id: return #id;
+    BUILTIN(CF_TEXT)
+    BUILTIN(CF_BITMAP)
+    BUILTIN(CF_METAFILEPICT)
+    BUILTIN(CF_SYLK)
+    BUILTIN(CF_DIF)
+    BUILTIN(CF_TIFF)
+    BUILTIN(CF_OEMTEXT)
+    BUILTIN(CF_DIB)
+    BUILTIN(CF_PALETTE)
+    BUILTIN(CF_PENDATA)
+    BUILTIN(CF_RIFF)
+    BUILTIN(CF_WAVE)
+    BUILTIN(CF_UNICODETEXT)
+    BUILTIN(CF_ENHMETAFILE)
+    BUILTIN(CF_HDROP)
+    BUILTIN(CF_LOCALE)
+    BUILTIN(CF_DIBV5)
+    BUILTIN(CF_OWNERDISPLAY)
+    BUILTIN(CF_DSPTEXT)
+    BUILTIN(CF_DSPBITMAP)
+    BUILTIN(CF_DSPMETAFILEPICT)
+    BUILTIN(CF_DSPENHMETAFILE)
+#undef BUILTIN
+    default: return wine_dbg_sprintf( "%04x", id );
+    }
+}
+
 /**************************************************************************
  *		X11DRV_InitClipboard
  */
@@ -498,8 +536,8 @@ static WINE_CLIPFORMAT *X11DRV_CLIPBOARD_InsertClipboardFormat(LPCWSTR FormatNam
 
     list_add_tail( &format_list, &lpNewFormat->entry );
 
-    TRACE("Registering format(%04x): %s drvData %d\n",
-        lpNewFormat->wFormatID, debugstr_w(FormatName), lpNewFormat->drvData);
+    TRACE("Registering format %s drvData %d\n",
+          debugstr_format(lpNewFormat->wFormatID), lpNewFormat->drvData);
 
     return lpNewFormat;
 }
@@ -1936,8 +1974,8 @@ static VOID X11DRV_CLIPBOARD_InsertSelectionProperties(Display *display, Atom* p
               */
              while (lpFormat)
              {
-                 TRACE("Atom#%d Property(%d): --> FormatID(%04x) %s\n",
-                       i, lpFormat->drvData, lpFormat->wFormatID, debugstr_w(lpFormat->Name));
+                 TRACE("Atom#%d Property(%d): --> Format %s\n",
+                       i, lpFormat->drvData, debugstr_format(lpFormat->wFormatID));
                  X11DRV_CLIPBOARD_InsertClipboardData(lpFormat->wFormatID, 0, 0, lpFormat, FALSE);
                  lpFormat = X11DRV_CLIPBOARD_LookupProperty(lpFormat, properties[i]);
              }
@@ -1979,8 +2017,8 @@ static VOID X11DRV_CLIPBOARD_InsertSelectionProperties(Display *display, Atom* p
                      ERR("Failed to register %s property. Type will not be cached.\n", names[i]);
                      continue;
                  }
-                 TRACE("Atom#%d Property(%d): --> FormatID(%04x) %s\n",
-                       i, lpFormat->drvData, lpFormat->wFormatID, debugstr_w(lpFormat->Name));
+                 TRACE("Atom#%d Property(%d): --> Format %s\n",
+                       i, lpFormat->drvData, debugstr_format(lpFormat->wFormatID));
                  X11DRV_CLIPBOARD_InsertClipboardData(lpFormat->wFormatID, 0, 0, lpFormat, FALSE);
              }
              wine_tsx11_lock();
@@ -2145,7 +2183,8 @@ static BOOL X11DRV_CLIPBOARD_ReadSelectionData(Display *display, LPWINE_CLIPDATA
         }
 
         TRACE("Requesting conversion of %s property (%d) from selection type %08x\n",
-            debugstr_w(lpData->lpFormat->Name), lpData->lpFormat->drvData, (UINT)selectionCacheSrc);
+              debugstr_format(lpData->lpFormat->wFormatID), lpData->lpFormat->drvData,
+              (UINT)selectionCacheSrc);
 
         wine_tsx11_lock();
         XConvertSelection(display, selectionCacheSrc, lpData->lpFormat->drvData,
@@ -3168,8 +3207,8 @@ static void X11DRV_HandleSelectionRequest( HWND hWnd, XSelectionRequestEvent *ev
                 {
                     int mode = PropModeReplace;
 
-                    TRACE("\tUpdating property %s, %d bytes\n", debugstr_w(lpFormat->Name), cBytes);
-
+                    TRACE("\tUpdating property %s, %d bytes\n",
+                          debugstr_format(lpFormat->wFormatID), cBytes);
                     wine_tsx11_lock();
                     do
                     {




More information about the wine-cvs mailing list