Module: wine Branch: master Commit: 8b9b2580a5e7d624e3e826384b06f482fea131e8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=8b9b2580a5e7d624e3e826384...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Dec 1 16:02:37 2021 +0100
user32: Use NtUserGetDisplayConfigBufferSizes.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/sysparams.c | 57 ------------------------------------------------- dlls/user32/user32.spec | 2 +- 2 files changed, 1 insertion(+), 58 deletions(-)
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 82dd0f4c664..592b4e2fdd5 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -4201,63 +4201,6 @@ BOOL WINAPI PhysicalToLogicalPoint( HWND hwnd, POINT *point ) return TRUE; }
-/********************************************************************** - * GetDisplayConfigBufferSizes (USER32.@) - */ -LONG WINAPI GetDisplayConfigBufferSizes(UINT32 flags, UINT32 *num_path_info, UINT32 *num_mode_info) -{ - LONG ret = ERROR_GEN_FAILURE; - HANDLE mutex; - HDEVINFO devinfo; - SP_DEVINFO_DATA device_data = {sizeof(device_data)}; - DWORD monitor_index = 0, state_flags, type; - - FIXME("(0x%x %p %p): semi-stub\n", flags, num_path_info, num_mode_info); - - if (!num_path_info || !num_mode_info) - return ERROR_INVALID_PARAMETER; - - *num_path_info = 0; - - if (flags != QDC_ALL_PATHS && - flags != QDC_ONLY_ACTIVE_PATHS && - flags != QDC_DATABASE_CURRENT) - return ERROR_INVALID_PARAMETER; - - if (flags != QDC_ONLY_ACTIVE_PATHS) - FIXME("only returning active paths\n"); - - wait_graphics_driver_ready(); - mutex = get_display_device_init_mutex(); - - /* Iterate through "targets"/monitors. - * Each target corresponds to a path, and each path references a source and a target mode. - */ - devinfo = SetupDiGetClassDevsW(&GUID_DEVCLASS_MONITOR, L"DISPLAY", NULL, DIGCF_PRESENT); - if (devinfo == INVALID_HANDLE_VALUE) - goto done; - - while (SetupDiEnumDeviceInfo(devinfo, monitor_index++, &device_data)) - { - /* Only count active monitors */ - if (!SetupDiGetDevicePropertyW(devinfo, &device_data, &WINE_DEVPROPKEY_MONITOR_STATEFLAGS, - &type, (BYTE *)&state_flags, sizeof(state_flags), NULL, 0)) - goto done; - - if (state_flags & DISPLAY_DEVICE_ACTIVE) - (*num_path_info)++; - } - - *num_mode_info = *num_path_info * 2; - ret = ERROR_SUCCESS; - TRACE("returning %u path(s) %u mode(s)\n", *num_path_info, *num_mode_info); - -done: - SetupDiDestroyDeviceInfoList(devinfo); - release_display_device_init_mutex(mutex); - return ret; -} - static DISPLAYCONFIG_ROTATION get_dc_rotation(const DEVMODEW *devmode) { if (devmode->dmFields & DM_DISPLAYORIENTATION) diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 78946be86b3..9955add4252 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -291,7 +291,7 @@ @ stdcall GetDesktopWindow() @ stdcall GetDialogBaseUnits() @ stdcall GetDisplayAutoRotationPreferences(ptr) -@ stdcall GetDisplayConfigBufferSizes(long ptr ptr) +@ stdcall GetDisplayConfigBufferSizes(long ptr ptr) NtUserGetDisplayConfigBufferSizes @ stdcall GetDlgCtrlID(long) @ stdcall GetDlgItem(long long) @ stdcall GetDlgItemInt(long long ptr long)