shell32: trace APPBARDATA struct members based on message type (Valgrind)
Austin English
austinenglish at gmail.com
Fri Feb 11 20:38:38 CST 2011
Fixes most of http://austinenglish.com/logs/valgrind/2011-02-11-10.45/vg-shell32_appbar.txt,
all that's left is:
Syscall param writev(vector[...]) points to uninitialised byte(s)
at writev (in /lib/libc-2.11.2.so)
by send_request (server.c:209)
by wine_server_call (server.c:290)
by put_message_in_queue (message.c:2923)
by send_inter_thread_message (message.c:2991)
by send_message (message.c:3059)
by SendMessageTimeoutW (message.c:3125)
by SHAppBarMessage (appbar.c:115)
by test_setpos (appbar.c:222)
by func_appbar (appbar.c:442)
by run_test (test.h:556)
by main (test.h:624)
Address 0x7f23fa60 is on thread 1's stack
Uninitialised value was created by a stack allocation
at test_setpos (appbar.c:203)
--
-Austin
-------------- next part --------------
diff --git a/dlls/shell32/appbar.c b/dlls/shell32/appbar.c
index 212ee37..4d0effc 100644
--- a/dlls/shell32/appbar.c
+++ b/dlls/shell32/appbar.c
@@ -74,9 +74,36 @@ UINT_PTR WINAPI SHAppBarMessage(DWORD msg, PAPPBARDATA data)
UINT_PTR ret = 0;
- TRACE("msg=%d, data={cb=%d, hwnd=%p, callback=%x, edge=%d, rc=%s, lparam=%lx}\n",
- msg, data->cbSize, data->hWnd, data->uCallbackMessage, data->uEdge,
- wine_dbgstr_rect(&data->rc), data->lParam);
+ TRACE("msg=%d, data={cb=%d, hwnd=%p}\n", msg, data->cbSize, data->hWnd);
+
+ /* These members are message dependent */
+ switch(msg)
+ {
+ case ABM_NEW:
+ TRACE("callback: %x\n", data->uCallbackMessage);
+ break;
+
+ case ABM_GETAUTOHIDEBAR:
+ TRACE("edge: %d\n", data->uEdge);
+ break;
+
+ case ABM_QUERYPOS:
+ case ABM_SETPOS:
+ TRACE("edge: %d, rc: %s\n", data->uEdge, wine_dbgstr_rect(&data->rc));
+ break;
+
+ case ABM_GETTASKBARPOS:
+ TRACE("rc: %s\n", wine_dbgstr_rect(&data->rc));
+ break;
+
+ case ABM_SETAUTOHIDEBAR:
+ TRACE("edge: %d, lParam: %lx\n", data->uEdge, data->lParam);
+ break;
+
+ default:
+ FIXME("unknown msg: %d\n", msg);
+ break;
+ }
if (data->cbSize < sizeof(APPBARDATA))
{
More information about the wine-patches
mailing list