Alexandros Frantzis (@afrantzis) commented about dlls/winewayland.drv/wayland_surface.c:
+ */ +void wayland_surface_set_icon(struct wayland_surface *surface, UINT type, ICONINFO *ii) +{ + HDC hDC; + struct wayland_shm_buffer *icon_buf; + + assert(ii); + assert(surface->xdg_toplevel && surface->role == WAYLAND_SURFACE_ROLE_TOPLEVEL); + + hDC = NtGdiCreateCompatibleDC(0); + icon_buf = wayland_shm_buffer_from_color_bitmaps(hDC, ii->hbmColor, ii->hbmMask); + NtGdiDeleteObjectApp(hDC); + + if (surface->xdg_toplevel_icon) + { + xdg_toplevel_icon_manager_v1_set_icon(process_wayland.xdg_toplevel_icon_manager_v1, surface->xdg_toplevel, NULL); Let's try to avoid very long lines if possible:
xdg_toplevel_icon_manager_v1_set_icon(process_wayland.xdg_toplevel_icon_manager_v1,
surface->xdg_toplevel, NULL);
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6938#note_99651