Nikolay Sivov wrote:
IE8 requested this.
Changelog: - Implemented GetWindowRgnBox with tests
+static void test_winregion() +{
- HWND hwnd;
- RECT r;
- int ret;
- HRGN hrgn;
- hwnd = CreateWindowExA(0, "static", NULL, WS_VISIBLE, 10, 10, 10, 10, NULL, 0, 0, NULL);
- if (pGetWindowRgnBox)
- {
/* NULL prect */SetLastError(0xdeadbeef);ret = pGetWindowRgnBox(hwnd, NULL);ok( ret == ERROR, "Expected ERROR, got %d\n", ret);ok( GetLastError() == 0xdeadbeef, "Expected , got %d\n", GetLastError());hrgn = CreateRectRgn(2, 3, 10, 15);ok( hrgn != NULL, "Region creation failed\n");if (hrgn){SetWindowRgn(hwnd, hrgn, FALSE);SetLastError(0xdeadbeef);ret = pGetWindowRgnBox(hwnd, NULL);ok( ret == ERROR, "Expected ERROR, got %d\n", ret);ok( GetLastError() == 0xdeadbeef, "Expected , got %d\n", GetLastError());r.left = r.top = r.right = r.bottom = 0;ret = pGetWindowRgnBox(hwnd, &r);ok( ret == SIMPLEREGION, "Expected SIMPLEREGION, got %d\n", ret);ok( r.left == 2 && r.top == 3 && r.right == 10 && r.bottom == 15,"Expected (2,3,10,15), got (%d,%d,%d,%d)\n", r.left, r.top,r.right, r.bottom);DeleteObject(hrgn);}- }
- else
win_skip("GetWindowRgnBox not supported\n");- DestroyWindow(hwnd);
+}
Why not test for pGetWindowRgnBox at the beginning and return when not available (including the win_skip() of course). That will get rid of the big indented block.