Another attempt of a test for a visible desktop.
diff --git a/programs/winetest/main.c b/programs/winetest/main.c
index 9bcfd6e..5f4b293 100644
--- a/programs/winetest/main.c
+++ b/programs/winetest/main.c
@@ -68,7 +68,23 @@
static int running_on_visible_desktop ()
{
- return IsWindowVisible( GetDesktopWindow() );
+ BOOL visible;
+ HWND desktop;
+ HDC hdc;
+ HRGN hrgn;
+ RECT rc;
+
+ desktop = GetDesktopWindow();
+ hdc = GetDC(desktop);
+ hrgn = CreateRectRgn(0, 0, 0, 0);
+ GetRandomRgn(hdc, hrgn, SYSRGN);
+
+ visible = GetRgnBox(hrgn, &rc) != NULLREGION;
+
+ DeleteObject(hrgn);
+ ReleaseDC(desktop, hdc);
+
+ return visible;
}
void print_version ()