Zhiyi Zhang (@zhiyi) commented about dlls/winewayland.drv/display.c:
-{
- struct gdi_adapter adapter;
- adapter.id = output_id;
- adapter.state_flags = DISPLAY_DEVICE_ATTACHED_TO_DESKTOP;
- if (output_id == 0)
adapter.state_flags |= DISPLAY_DEVICE_PRIMARY_DEVICE;
- TRACE("id=0x%s state_flags=0x%x\n",
wine_dbgstr_longlong(adapter.id), (UINT)adapter.state_flags);
- device_manager->add_adapter(&adapter, param);
-}
static void wayland_add_device_monitor(const struct gdi_device_manager *device_manager,
void *param, struct output_info *output_info)
void *param, DWORD state_flags, struct output_info *output_info)
I don't like that you're passing state flags for GDI adapters to monitor devices. You're also adding a GDI adapter/source in wayland_add_device_monitor(). However, for example, there can be two monitors under the same GDI adapter when they're mirrored. I understand that maybe winewayland.drv doesn't handle that yet. Let's keep wayland_add_device_adapter and rename it to wayland_add_device_source().