summaryrefslogtreecommitdiff
path: root/src/bin/e_pixmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/e_pixmap.c')
-rw-r--r--src/bin/e_pixmap.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 9c75e09d51..dbefc9971a 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -632,6 +632,19 @@ e_pixmap_image_clear(E_Pixmap *cp, Eina_Bool cache)
break;
case E_PIXMAP_TYPE_WL:
#if defined(HAVE_WAYLAND_CLIENTS) || defined(HAVE_WAYLAND_ONLY)
+ if (cache)
+ {
+ E_Comp_Wl_Client_Data *cd;
+ struct wl_resource *cb;
+
+ if ((!cp->client) || (!cp->client->comp_data)) return;
+ cd = (E_Comp_Wl_Client_Data *)cp->client->comp_data;
+ EINA_LIST_FREE(cd->frames, cb)
+ {
+ wl_callback_send_done(cb, ecore_time_unix_get());
+ wl_resource_destroy(cb);
+ }
+ }
#endif
break;
default: