Module: wine Branch: master Commit: 6b177c44e10d7c1495de2de2ca605e03a8a11d05 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b177c44e10d7c1495de2de2ca...
Author: Roderick Colenbrander thunderbird2k@gmx.net Date: Mon Aug 13 16:47:17 2007 +0200
wined3d: Pass the proper DeviceName to ChangeDisplaySettings.
---
dlls/wined3d/device.c | 3 +-- dlls/wined3d/directx.c | 8 ++++++++ dlls/wined3d/wined3d_private.h | 1 + 3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index b0c0b20..11679af 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1343,8 +1343,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateAdditionalSwapChain(IWineD3DDevic devmode.dmBitsPerPel = (bpp >= 24) ? 32 : bpp; /* Stupid XVidMode cannot change bpp */ devmode.dmPelsWidth = pPresentationParameters->BackBufferWidth; devmode.dmPelsHeight = pPresentationParameters->BackBufferHeight; - MultiByteToWideChar(CP_ACP, 0, "Gamers CG", -1, devmode.dmDeviceName, CCHDEVICENAME); - ChangeDisplaySettingsExW(devmode.dmDeviceName, &devmode, object->win_handle, CDS_FULLSCREEN, NULL); + ChangeDisplaySettingsExW(This->adapter->DeviceName, &devmode, NULL, CDS_FULLSCREEN, NULL);
/* For GetDisplayMode */ This->ddraw_width = devmode.dmPelsWidth; diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 13fcf51..563c714 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2479,6 +2479,8 @@ BOOL InitAdapters(void) { /* For now only one default adapter */ { int attribute; + DISPLAY_DEVICEW DisplayDevice; + TRACE("Initializing default adapter\n"); Adapters[0].monitorPoint.x = -1; Adapters[0].monitorPoint.y = -1; @@ -2499,6 +2501,12 @@ BOOL InitAdapters(void) { Adapters[0].driver = "Display"; Adapters[0].description = "Direct3D HAL";
+ /* Initialize the Adapter's DeviceName which is required for ChangeDisplaySettings and friends */ + DisplayDevice.cb = sizeof(DisplayDevice); + EnumDisplayDevicesW(NULL, 0 /* Adapter 0 = iDevNum 0 */, &DisplayDevice, 0); + TRACE("DeviceName: %s\n", debugstr_w(DisplayDevice.DeviceName)); + strcpyW(Adapters[0].DeviceName, DisplayDevice.DeviceName); + if (WineD3D_CreateFakeGLContext()) { int iPixelFormat; int attribs[8]; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 3ceb767..159844e 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -588,6 +588,7 @@ struct WineD3DAdapter WineD3D_GL_Info gl_info; const char *driver; const char *description; + WCHAR DeviceName[CCHDEVICENAME]; /* DeviceName for use with e.g. ChangeDisplaySettings */ int nCfgs; WineD3D_PixelFormat *cfgs; };