summaryrefslogtreecommitdiff
path: root/src/lib/efx_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/efx_private.h')
-rw-r--r--src/lib/efx_private.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/efx_private.h b/src/lib/efx_private.h
index 9ab13f5..0c89a6f 100644
--- a/src/lib/efx_private.h
+++ b/src/lib/efx_private.h
@@ -98,11 +98,12 @@ void efx_fade_reclip(void *efd);
98 98
99#define EFX_QUEUE_CHECK(X) do \ 99#define EFX_QUEUE_CHECK(X) do \
100 { \ 100 { \
101 Eina_Bool run; \
102 EFX *ee = (X)->e; \ 101 EFX *ee = (X)->e; \
103 run = efx_queue_complete((X)->e, (X)); \ 102 evas_object_ref(ee->obj); \
104 if ((X)->cb) (X)->cb((X)->data, &(X)->e->map_data, (X)->e->obj); \ 103 if ((X)->cb) (X)->cb((X)->data, &(X)->e->map_data, (X)->e->obj); \
105 if (run) efx_queue_process(ee); \ 104 if (efx_queue_complete((X)->e, (X))) \
105 efx_queue_process(ee); \
106 evas_object_unref(ee->obj); \
106 } while (0) 107 } while (0)
107Eina_Bool efx_queue_complete(EFX *e, void *effect_data); 108Eina_Bool efx_queue_complete(EFX *e, void *effect_data);
108void efx_queue_process(EFX *e); 109void efx_queue_process(EFX *e);