Module: wine Branch: refs/heads/master Commit: 9561d6e29cf781c9395aa58d1315ff1f1c9f6388 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9561d6e29cf781c9395aa58d...
Author: Vitaliy Margolen wine-patch@kievinfo.com Date: Tue Jan 3 12:05:54 2006 +0100
gdi: Device name returned from EnumDisplayDevices is valid for CreateDC.
---
dlls/gdi/driver.c | 4 +++- dlls/user/tests/monitor.c | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/dlls/gdi/driver.c b/dlls/gdi/driver.c index 29c1f47..c9ac552 100644 --- a/dlls/gdi/driver.c +++ b/dlls/gdi/driver.c @@ -263,11 +263,13 @@ const DC_FUNCTIONS *DRIVER_load_driver( HMODULE module; struct graphics_driver *driver; static const WCHAR displayW[] = { 'd','i','s','p','l','a','y',0 }; + static const WCHAR display1W[] = {'\','\','.','\','D','I','S','P','L','A','Y','1',0};
EnterCriticalSection( &driver_section );
/* display driver is a special case */ - if (!strcmpiW( name, displayW )) + if (!strcmpiW( name, displayW ) || + !strcmpiW( name, display1W )) { driver = load_display_driver(); LeaveCriticalSection( &driver_section ); diff --git a/dlls/user/tests/monitor.c b/dlls/user/tests/monitor.c index 3fdd5c7..f98ba0b 100644 --- a/dlls/user/tests/monitor.c +++ b/dlls/user/tests/monitor.c @@ -67,6 +67,7 @@ static void test_enumdisplaydevices(void while(1) { BOOL ret; + HDC dc; ret = pEnumDisplayDevicesA(NULL, num, &dd, 0); ok(ret || num != 0, "EnumDisplayDevices fails with num == 0\n"); if(!ret) break; @@ -75,6 +76,13 @@ static void test_enumdisplaydevices(void strcpy(primary_device_name, dd.DeviceName); primary_num = num; } + if(dd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) + { + /* test creating DC */ + dc = CreateDCA(dd.DeviceName, NULL, NULL, NULL); + ok(dc != NULL, "Failed to CreateDC("%s") err=%ld\n", dd.DeviceName, GetLastError()); + DeleteDC(dc); + } num++; } ok(primary_num != -1, "Didn't get the primary device\n");