Rémi Bernon (@rbernon) commented about dlls/winex11.drv/display.c:
if (!settings_handler.get_modes( adapters[adapter].id, EDS_ROTATEDMODE, &modes, &mode_count )) continue;
for (mode = modes; mode_count; mode_count--) { - TRACE( "mode: %p\n", mode ); - device_manager->add_mode( mode, FALSE, param ); + TRACE("mode: %ux%u %ubits %uHz rotated %u degrees", + (unsigned int)mode->dmPelsWidth, (unsigned int)mode->dmPelsHeight, + (unsigned int)mode->dmBitsPerPel, (unsigned int)mode->dmDisplayFrequency, + (unsigned int)mode->dmDisplayOrientation * 90); + if (mode->dmPelsWidth == current_mode.dmPelsWidth && + mode->dmPelsHeight == current_mode.dmPelsHeight && + mode->dmBitsPerPel == current_mode.dmBitsPerPel && + mode->dmDisplayFrequency == current_mode.dmDisplayFrequency && + mode->dmDisplayOrientation == current_mode.dmDisplayOrientation)
This could use the `is_same_devmode` helper (copied) as introduced before and make the conditional and the if else shorter. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2568#note_28725