Module: wine Branch: master Commit: 3f68641b92af719631464729a17d0d1268a8cdce URL: http://source.winehq.org/git/wine.git/?a=commit;h=3f68641b92af719631464729a1...
Author: Vincent Povirk madewokherd+d41d@gmail.com Date: Sat Dec 6 12:43:03 2008 -0600
explorer,shell32: Improve ABM_GETTASKBARPOS stub.
---
dlls/shell32/appbar.c | 4 ++-- dlls/shell32/tests/appbar.c | 3 --- programs/explorer/appbar.c | 12 +++++++++--- 3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/dlls/shell32/appbar.c b/dlls/shell32/appbar.c index a6834c1..5f9c25f 100644 --- a/dlls/shell32/appbar.c +++ b/dlls/shell32/appbar.c @@ -46,7 +46,7 @@ struct appbar_cmd struct appbar_response { UINT_PTR result; - RECT rc; + APPBARDATA abd; };
/************************************************************************* @@ -112,7 +112,7 @@ UINT_PTR WINAPI SHAppBarMessage(DWORD msg, PAPPBARDATA data) response = (struct appbar_response*)return_view;
ret = response->result; - data->rc = response->rc; + *data = response->abd;
UnmapViewOfFile(return_view);
diff --git a/dlls/shell32/tests/appbar.c b/dlls/shell32/tests/appbar.c index af7c5f2..d11a999 100644 --- a/dlls/shell32/tests/appbar.c +++ b/dlls/shell32/tests/appbar.c @@ -400,11 +400,8 @@ static void test_appbarget(void) if(ret) { ok(abd.hWnd == (HWND)0xcccccccc, "hWnd overwritten\n"); -todo_wine -{ ok(abd.uEdge <= ABE_BOTTOM, "uEdge not returned\n"); ok(abd.rc.left != 0xcccccccc, "rc not updated\n"); -} }
return; diff --git a/programs/explorer/appbar.c b/programs/explorer/appbar.c index 8102318..6564f2c 100644 --- a/programs/explorer/appbar.c +++ b/programs/explorer/appbar.c @@ -47,7 +47,7 @@ struct appbar_cmd struct appbar_response { UINT_PTR result; - RECT rc; + APPBARDATA abd; };
static HWND appbarmsg_window = NULL; @@ -195,7 +195,13 @@ static UINT_PTR handle_appbarmessage(DWORD msg, PAPPBARDATA abd) return ABS_ALWAYSONTOP | ABS_AUTOHIDE; case ABM_GETTASKBARPOS: WINE_FIXME("SHAppBarMessage(ABM_GETTASKBARPOS, hwnd=%p): stub\n", abd->hWnd); - return FALSE; + /* Report the taskbar is at the bottom of the screen. */ + abd->rc.left = 0; + abd->rc.right = GetSystemMetrics(SM_CXSCREEN); + abd->rc.bottom = GetSystemMetrics(SM_CYSCREEN); + abd->rc.top = abd->rc.bottom-1; + abd->uEdge = ABE_BOTTOM; + return TRUE; case ABM_ACTIVATE: WINE_FIXME("SHAppBarMessage(ABM_ACTIVATE, hwnd=%p, lparam=%lx): stub\n", abd->hWnd, abd->lParam); return TRUE; @@ -256,7 +262,7 @@ LRESULT CALLBACK appbar_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpara { response = (struct appbar_response*)return_view; response->result = result; - response->rc = cmd.abd.rc; + response->abd = cmd.abd;
UnmapViewOfFile(return_view); }