diff --git a/src/main/d3d9exhook/d3d9ex.c b/src/main/d3d9exhook/d3d9ex.c index 0e52202..6b96c1d 100644 --- a/src/main/d3d9exhook/d3d9ex.c +++ b/src/main/d3d9exhook/d3d9ex.c @@ -228,7 +228,8 @@ static HRESULT STDCALL my_CreateDeviceEx( ZeroMemory(&dm, sizeof(dm)); dm.dmSize = sizeof(dm); - if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm)) { + if (EnumDisplaySettings( + adapter_ident.DeviceName, ENUM_CURRENT_SETTINGS, &dm)) { int32_t delta = d3d9ex_force_orientation - dm.dmDisplayOrientation; @@ -242,12 +243,22 @@ static HRESULT STDCALL my_CreateDeviceEx( dm.dmDisplayOrientation = d3d9ex_force_orientation; - long cd_ret = ChangeDisplaySettings(&dm, CDS_FULLSCREEN); + long cd_ret = ChangeDisplaySettingsEx( + adapter_ident.DeviceName, + &dm, + NULL, + CDS_FULLSCREEN, + NULL); if (cd_ret == DISP_CHANGE_SUCCESSFUL) { - log_info("Overriding rotation suceeded"); + log_info( + "Overriding rotation suceeded: %s", + adapter_ident.DeviceName); } else { - log_info("Overriding rotation failed"); + log_info( + "Overriding rotation failed %s %ld", + adapter_ident.DeviceName, + cd_ret); } } } diff --git a/src/main/hooklib/adapter.c b/src/main/hooklib/adapter.c index 379aed8..dbbc67d 100644 --- a/src/main/hooklib/adapter.c +++ b/src/main/hooklib/adapter.c @@ -128,6 +128,7 @@ void adapter_hook_override(const char *adapter_address) // empty, do nothing return; } + if (strlen(adapter_address) > sizeof(IP_ADDRESS_STRING)) { log_warning( "%s: %s is not an ipv4 address", __FUNCTION__, adapter_address);