wayland/surface: Hold shm-buffers of subsurfaces
We do not hold shm-buffer resources as we have an internal copy. For subsurfaces this is problematic as they may switch from async to sync - if the resource is gone and we now want to process damage (thus copy parts of the buffer that we potentially did not copy already) we hit an assert.
Hold a reference to the resource until it's replaced instead.
Stops the gstreamer-wayland-demo to spam meta_wayland_buffer_process_damage: assertion 'buffer->resource' failed
on move/resize.
Edited by Robert Mader