Jacek Caban (@jacek) commented about dlls/winewayland.drv/wayland_output.c:
- /* Update mode if it's already in list, otherwise find the insertion point
* to maintain the sorted order. */- wl_list_for_each(mode, &output->mode_list, link)
- {
int cmp = wayland_output_mode_cmp(mode, width, height, refresh);if (cmp == 0) /* mode == new */{if (current) output->current_mode = mode;return;}else if (cmp == 1) /* mode > new */{insert_after_link = mode->link.prev;break;}- }
We have wine/rbtree.h for such collections, you may use it to store modes instead of implementing it here. Other than that, it looks good to me, thanks.