1From 755b3fa1303dc7212138a9a18ce8ca83f8f0af19 Mon Sep 17 00:00:00 2001 2From: Jeffy Chen <jeffy.chen@rock-chips.com> 3Date: Tue, 5 Jul 2022 17:54:47 +0800 4Subject: [PATCH 03/10] e_pixmap: Fix buffer double-release 5 6Tested with weston-simple-shm. 7 8Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 9--- 10 src/bin/e_pixmap.c | 6 ++++++ 11 1 file changed, 6 insertions(+) 12 13diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c 14index 2edace94f..ece17fee1 100644 15--- a/src/bin/e_pixmap.c 16+++ b/src/bin/e_pixmap.c 17@@ -205,6 +205,12 @@ _e_pixmap_wayland_image_clear(E_Pixmap *cp) 18 { 19 E_Comp_Wl_Buffer *buffer; 20 21+ if (cp->held_buffer && cp->held_buffer->busy == 1) 22+ { 23+ // about to go to busy 0, so remove from list 24+ cp->busy_list = eina_list_remove(cp->busy_list, cp->held_buffer); 25+ } 26+ 27 EINA_LIST_FREE(cp->busy_list, buffer) 28 { 29 buffer->busy--; 30-- 312.20.1 32 33