[PATCH] Do not release buffer when it is going to be used again.
Axel Davy
axel.davy at ens.fr
Wed Nov 6 11:47:50 PST 2013
Solve a bug for some fullscreen clients which wouldn't show up.
Signed-off-by: Axel Davy <axel.davy at ens.fr>
---
src/compositor-drm.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 4f015d1..6a2500b 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -711,7 +711,8 @@ vblank_handler(int fd, unsigned int frame, unsigned int sec, unsigned int usec,
output->vblank_pending = 0;
- drm_output_release_fb(output, s->current);
+ if (s->current != s->next)
+ drm_output_release_fb(output, s->current);
s->current = s->next;
s->next = NULL;
@@ -735,7 +736,8 @@ page_flip_handler(int fd, unsigned int frame,
* we just want to page flip to the current buffer to get an accurate
* timestamp */
if (output->page_flip_pending) {
- drm_output_release_fb(output, output->current);
+ if (output->current != output->next)
+ drm_output_release_fb(output, output->current);
output->current = output->next;
output->next = NULL;
}
--
1.8.1.2
More information about the wayland-devel
mailing list