Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
- /* enumerate primary monitors first */ LIST_FOR_EACH_ENTRY(monitor, &monitors, struct monitor, entry) {
RECT monrect;if (!is_monitor_active( monitor )) continue;monrect = map_dpi_rect( monitor->rc_monitor, get_monitor_dpi( monitor->handle ),get_thread_dpi() );OffsetRect( &monrect, -origin.x, -origin.y );if (!intersect_rect( &monrect, &monrect, &limit )) continue;if (monitor->is_clone) continue;
if (!is_monitor_primary( monitor )) continue;if (should_enumerate_monitor( monitor, &origin, &limit, &enum_info[count].rect ))enum_info[count++].handle = monitor->handle;
You can break after you find the primary monitor as there is only one primary.