scaled-scene-buffer: block sharing of buffers created before reconfigure

This prevents potential bugs that buffers created by scaled_scene_buffers
before Reconfigure are reused by other newly created scaled_scene_buffers.

This is targeted for scaled_icon_buffer whose buffer creation depends on
server->sfdo.
This commit is contained in:
tokyo4j 2025-01-12 18:18:28 +09:00 committed by Hiroaki Yamamoto
parent c49f577c6b
commit 925360ffba
3 changed files with 20 additions and 0 deletions

View file

@ -128,6 +128,14 @@ struct scaled_scene_buffer *scaled_scene_buffer_create(
void scaled_scene_buffer_request_update(struct scaled_scene_buffer *self,
int width, int height);
/**
* scaled_scene_buffer_invalidate_sharing - clear the list of entire cached
* scaled_scene_buffers used to share visually dupliated buffers. This should
* be called on Reconfigure to force updates of newly created
* scaled_scene_buffers rather than reusing ones created before Reconfigure.
*/
void scaled_scene_buffer_invalidate_sharing(void);
/* Private */
struct scaled_scene_buffer_cache_entry {
struct wl_list link; /* struct scaled_scene_buffer.cache */