shm: add shm_did_not_use_buffer()

This allows a caller to return a buffer (obtained with
shm_get_buffer()) to the pool,

The buffer must not have been used. I.e. it must not have been
attached and committed to a wayland surface.
This commit is contained in:
Daniel Eklöf 2022-04-16 17:47:56 +02:00
parent 129deaffa8
commit abbdd3bae8
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 9 additions and 0 deletions

7
shm.c
View file

@ -509,6 +509,13 @@ err:
abort();
}
void
shm_did_not_use_buf(struct buffer *_buf)
{
struct buffer_private *buf = (struct buffer_private *)_buf;
buf->busy = false;
}
void
shm_get_many(struct buffer_chain *chain, size_t count,
int widths[static count], int heights[static count],

2
shm.h
View file

@ -66,6 +66,8 @@ void shm_get_many(
int widths[static count], int heights[static count],
struct buffer *bufs[static count]);
void shm_did_not_use_buf(struct buffer *buf);
bool shm_can_scroll(const struct buffer *buf);
bool shm_scroll(struct buffer *buf, int rows,
int top_margin, int top_keep_rows,