fix error: wl_display@1.error(wl_display@1, 1, "invalid arguments for wl_surface@6.attach")

wl_display@1.error(wl_display@1, 1, "invalid arguments for wl_surface@6.attach")

root cause:
wl_surface_attach(wl_surface* surface, wl_buffer* buffer, int, int);
((wl_proxy*)surface)->display != ((wl_proxy*)buffer)->display
surface's display and buffer's display were not matched.
wayland server can't find the buffer object in surface's client connection.

solution:
correct source code, let wl_surface and wl_buffer use the same display.
By the way, each time you call wl_display_get(NULL).
you will get a new display.

Subscribe to Post, Code and Quiet Time.

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe