Module: wine Branch: master Commit: f47bcc22fcfc2bbc16f3f41886a55c2c9d4a9716 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f47bcc22fcfc2bbc16f3f41886...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Mar 5 13:10:16 2010 +0100
winetest: Refuse to run if we cannot create a window.
---
programs/winetest/gui.c | 2 +- programs/winetest/main.c | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/programs/winetest/gui.c b/programs/winetest/gui.c index 7a7b1e0..f13cc18 100644 --- a/programs/winetest/gui.c +++ b/programs/winetest/gui.c @@ -473,7 +473,7 @@ DlgThreadProc (LPVOID param) NULL, DlgProc); switch (ret) { case 0: - report (R_WARNING, "Invalid parent handle"); + report (R_FATAL, "Cannot display dialog"); break; case 1: report (R_WARNING, "DialogBox failed: %d", diff --git a/programs/winetest/main.c b/programs/winetest/main.c index e0b9ced..3eabf5f 100644 --- a/programs/winetest/main.c +++ b/programs/winetest/main.c @@ -145,6 +145,18 @@ static int check_mount_mgr(void) return TRUE; }
+static int check_display_driver(void) +{ + if (running_under_wine()) + { + HWND hwnd = CreateWindowA( "STATIC", "", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, + 0, 0, GetModuleHandleA(0), 0 ); + if (!hwnd) return FALSE; + DestroyWindow( hwnd ); + } + return TRUE; +} + static int running_on_visible_desktop (void) { HWND desktop; @@ -1052,7 +1064,10 @@ int main( int argc, char *argv[] ) report (R_FATAL, "Tests must be run on a visible desktop");
if (!check_mount_mgr()) - report (R_FATAL, "Mount manager not running, most likely your WINEPREFIX wasn't created correctly"); + report (R_FATAL, "Mount manager not running, most likely your WINEPREFIX wasn't created correctly."); + + if (!check_display_driver()) + report (R_FATAL, "Unable to create a window, the display driver is not working.");
SetConsoleCtrlHandler(ctrl_handler, TRUE);