summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-12-26 12:15:21 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-12-26 12:31:08 +0100
commit42e886d8d61d551bb544b777e6d254ce4dd3fcf1 (patch)
treed2b509c691ce62f88747e9c34e82dc30d4b9e0d4 /src/lib
parent0e278d1de8fddcb510a19010fa829dcc1e7f393c (diff)
Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."
This reverts commit 9b5155c9f135f9ef450a817979f5884352b2d4c0. For now lets revert this, this breaks copy and paste, further more it has the potential to break a lot more things, as eio_model tends to use efl_loop_promise new, and then eina_promise_data_set, which is explicitly forbidden. This fixes crashing terminology instances.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore/Ecore_Eo.h13
-rw-r--r--src/lib/ecore/efl_exe.c2
-rw-r--r--src/lib/ecore/efl_loop.c7
-rw-r--r--src/lib/ecore/efl_loop_consumer.c47
-rw-r--r--src/lib/ecore/efl_loop_consumer.eo17
-rw-r--r--src/lib/ecore/efl_thread.c4
-rw-r--r--src/lib/ecore_con/efl_net_control_access_point-connman.c4
-rw-r--r--src/lib/ecore_con/efl_net_control_technology-connman.c6
-rw-r--r--src/lib/ecore_con/efl_net_ip_address.c2
-rw-r--r--src/lib/eio/efl_io_manager.c18
-rw-r--r--src/lib/eio/eio_model.c4
-rw-r--r--src/lib/eldbus/eldbus_model_connection.c2
-rw-r--r--src/lib/eldbus/eldbus_model_object.c2
-rw-r--r--src/lib/eldbus/eldbus_model_private.h1
-rw-r--r--src/lib/eldbus/eldbus_model_proxy.c3
-rw-r--r--src/lib/elementary/efl_selection_manager.c4
-rw-r--r--src/lib/eo/eina_types.eot2
17 files changed, 45 insertions, 93 deletions
diff --git a/src/lib/ecore/Ecore_Eo.h b/src/lib/ecore/Ecore_Eo.h
index a070cd1..33e864f 100644
--- a/src/lib/ecore/Ecore_Eo.h
+++ b/src/lib/ecore/Ecore_Eo.h
@@ -62,6 +62,19 @@ EAPI int efl_loop_exit_code_process(Eina_Value *value);
62 */ 62 */
63EAPI Eina_Future_Scheduler *efl_loop_future_scheduler_get(const Eo *obj); 63EAPI Eina_Future_Scheduler *efl_loop_future_scheduler_get(const Eo *obj);
64 64
65/**
66 * @brief Create a promise attached to the current loop
67 *
68 * @param[in] An object which will provide a loop, either by being a loop or a loop consumer
69 * @param cancel_cb A callback used to inform that the promise was canceled. Use
70 * this callback to @c free @p data. @p cancel_cb must not be @c NULL !
71 * @param data Data to @p cancel_cb.
72 * @return A promise or @c NULL on error.
73 *
74 * @see eina_promise_new()
75 */
76EAPI Eina_Promise *efl_loop_promise_new(const Eo *obj, Eina_Promise_Cancel_Cb cancel_cb, const void *data);
77
65#include "efl_loop_fd.eo.h" 78#include "efl_loop_fd.eo.h"
66#include "efl_loop_handler.eo.h" 79#include "efl_loop_handler.eo.h"
67 80
diff --git a/src/lib/ecore/efl_exe.c b/src/lib/ecore/efl_exe.c
index e870fca..254dd4c 100644
--- a/src/lib/ecore/efl_exe.c
+++ b/src/lib/ecore/efl_exe.c
@@ -485,7 +485,7 @@ _efl_exe_efl_task_run(Eo *obj EINA_UNUSED, Efl_Exe_Data *pd)
485 EFL_LOOP_HANDLER_FLAGS_READ)); 485 EFL_LOOP_HANDLER_FLAGS_READ));
486 _ecore_signal_pid_unlock(); 486 _ecore_signal_pid_unlock();
487 pd->run = EINA_TRUE; 487 pd->run = EINA_TRUE;
488 pd->promise = efl_loop_promise_new(obj, obj, _run_cancel_cb, NULL); 488 pd->promise = efl_loop_promise_new(obj, _run_cancel_cb, obj);
489 return efl_future_then(obj, eina_future_new(pd->promise)); 489 return efl_future_then(obj, eina_future_new(pd->promise));
490 } 490 }
491 // this code is in the child here, and is temporary setup until we 491 // this code is in the child here, and is temporary setup until we
diff --git a/src/lib/ecore/efl_loop.c b/src/lib/ecore/efl_loop.c
index ab6d198..1ef212f 100644
--- a/src/lib/ecore/efl_loop.c
+++ b/src/lib/ecore/efl_loop.c
@@ -902,4 +902,11 @@ efl_loop_future_scheduler_get(const Eo *obj)
902#define EFL_LOOP_EXTRA_OPS \ 902#define EFL_LOOP_EXTRA_OPS \
903 EFL_OBJECT_OP_FUNC(efl_loop_message_process, _efl_loop_message_process) 903 EFL_OBJECT_OP_FUNC(efl_loop_message_process, _efl_loop_message_process)
904 904
905EAPI Eina_Promise *
906efl_loop_promise_new(const Eo *obj, Eina_Promise_Cancel_Cb cancel_cb, const void *data)
907{
908 return eina_promise_new(efl_loop_future_scheduler_get(obj),
909 cancel_cb, data);
910}
911
905#include "efl_loop.eo.c" 912#include "efl_loop.eo.c"
diff --git a/src/lib/ecore/efl_loop_consumer.c b/src/lib/ecore/efl_loop_consumer.c
index f88c3e4..29e94ed 100644
--- a/src/lib/ecore/efl_loop_consumer.c
+++ b/src/lib/ecore/efl_loop_consumer.c
@@ -50,51 +50,4 @@ _efl_loop_consumer_future_rejected(Eo *obj, Efl_Loop_Consumer_Data *pd EINA_UNUS
50 return eina_future_rejected(efl_loop_future_scheduler_get(obj), error); 50 return eina_future_rejected(efl_loop_future_scheduler_get(obj), error);
51} 51}
52 52
53typedef struct _Efl_Loop_Consumer_Promise Efl_Loop_Consumer_Promise;
54struct _Efl_Loop_Consumer_Promise
55{
56 EflLoopConsumerPromiseCancel func;
57 Eina_Free_Cb free;
58 void *data;
59 Eo *obj;
60};
61
62static void
63_cancel_free(void *data)
64{
65 Efl_Loop_Consumer_Promise *lcp = data;
66
67 if (lcp->free) lcp->free(lcp->data);
68 efl_unref(lcp->obj);
69 free(lcp);
70}
71
72static void
73_cancel_triggered(void *data, const Eina_Promise *p)
74{
75 Efl_Loop_Consumer_Promise *lcp = data;
76
77 if (lcp->func) lcp->func(lcp->data, lcp->obj, p);
78}
79
80static Eina_Promise *
81_efl_loop_consumer_promise_new(Eo *obj, Efl_Loop_Consumer_Data *pd,
82 void *cancel_data, EflLoopConsumerPromiseCancel cancel, Eina_Free_Cb cancel_free_cb)
83{
84 Efl_Loop_Consumer_Promise *lcp;
85 Eina_Promise *p;
86
87 lcp = calloc(1, sizeof (Efl_Loop_Consumer_Promise));
88 if (!lcp) return NULL;
89
90 lcp->func = cancel;
91 lcp->data = cancel_data;
92 lcp->free = cancel_free_cb;
93 lcp->obj = efl_ref(obj);
94
95 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _cancel_triggered, lcp);
96 eina_promise_data_free_cb_set(p, _cancel_free);
97 return p;
98}
99
100#include "efl_loop_consumer.eo.c" 53#include "efl_loop_consumer.eo.c"
diff --git a/src/lib/ecore/efl_loop_consumer.eo b/src/lib/ecore/efl_loop_consumer.eo
index ed9d351..4d7484e 100644
--- a/src/lib/ecore/efl_loop_consumer.eo
+++ b/src/lib/ecore/efl_loop_consumer.eo
@@ -1,11 +1,3 @@
1function EflLoopConsumerPromiseCancel {
2 [[EflLoopConsumerPromiseCancel function callback called when a promise is cancelled.]]
3 params {
4 @in consumer: Efl.Loop_Consumer; [[The consumer that was used to create the promise.]]
5 @in dead_promise: const(ptr(Eina.Promise)); [[The promise that was just cancelled.]]
6 }
7};
8
9class Efl.Loop_Consumer (Efl.Object) 1class Efl.Loop_Consumer (Efl.Object)
10{ 2{
11 [[An Efl.Loop_Consumer is a class which requires one of the parents to provide 3 [[An Efl.Loop_Consumer is a class which requires one of the parents to provide
@@ -34,15 +26,6 @@ class Efl.Loop_Consumer (Efl.Object)
34 } 26 }
35 return: future<Eina.Error>; 27 return: future<Eina.Error>;
36 } 28 }
37 promise_new {
38 [[Create a new promise with the scheduler coming from the loop provided by this object.
39
40 Note: You should not use eina_promise_data_set as this function rely on controlling the promise data.]]
41 params {
42 cancel: EflLoopConsumerPromiseCancel; [[Callback called when the promise is being cancelled.]]
43 }
44 return: ptr(Eina.Promise) @owned; [[The new promise.]]
45 }
46 } 29 }
47 implements { 30 implements {
48 Efl.Object.parent { set; } 31 Efl.Object.parent { set; }
diff --git a/src/lib/ecore/efl_thread.c b/src/lib/ecore/efl_thread.c
index c44e59b..f72aa07 100644
--- a/src/lib/ecore/efl_thread.c
+++ b/src/lib/ecore/efl_thread.c
@@ -412,7 +412,7 @@ _cb_thread_parent_ctrl_out(void *data, const Efl_Event *event EINA_UNUSED)
412////////////////////////////////////////////////////////////////////////// 412//////////////////////////////////////////////////////////////////////////
413 413
414static void 414static void
415_run_cancel_cb(void *data, Efl_Loop_Consumer *consumer EINA_UNUSED, const Eina_Promise *dead_promise EINA_UNUSED) 415_run_cancel_cb(void *data, const Eina_Promise *dead_promise EINA_UNUSED)
416{ 416{
417 Eo *obj = data; 417 Eo *obj = data;
418 Efl_Thread_Data *pd = efl_data_scope_get(obj, MY_CLASS); 418 Efl_Thread_Data *pd = efl_data_scope_get(obj, MY_CLASS);
@@ -777,7 +777,7 @@ _efl_thread_efl_task_run(Eo *obj, Efl_Thread_Data *pd)
777 } 777 }
778 pd->thdat = thdat; 778 pd->thdat = thdat;
779 pd->run = EINA_TRUE; 779 pd->run = EINA_TRUE;
780 pd->promise = efl_loop_promise_new(obj, obj, _run_cancel_cb, NULL); 780 pd->promise = efl_loop_promise_new(obj, _run_cancel_cb, obj);
781 return efl_future_then(obj, eina_future_new(pd->promise)); 781 return efl_future_then(obj, eina_future_new(pd->promise));
782} 782}
783 783
diff --git a/src/lib/ecore_con/efl_net_control_access_point-connman.c b/src/lib/ecore_con/efl_net_control_access_point-connman.c
index 32394ab..a54cce2 100644
--- a/src/lib/ecore_con/efl_net_control_access_point-connman.c
+++ b/src/lib/ecore_con/efl_net_control_access_point-connman.c
@@ -751,7 +751,7 @@ _efl_net_control_access_point_connect_cb(void *data, const Eldbus_Message *msg,
751} 751}
752 752
753static void 753static void
754_efl_net_control_access_point_connect_promise_del(void *data, Efl_Loop_Consumer *consumer EINA_UNUSED, const Eina_Promise *dead_ptr) 754_efl_net_control_access_point_connect_promise_del(void *data, const Eina_Promise *dead_ptr)
755{ 755{
756 Eldbus_Pending *p = data; 756 Eldbus_Pending *p = data;
757 Efl_Net_Control_Access_Point_Data *pd; 757 Efl_Net_Control_Access_Point_Data *pd;
@@ -773,7 +773,7 @@ _efl_net_control_access_point_connect(Eo *o, Efl_Net_Control_Access_Point_Data *
773 Eina_Promise *promise; 773 Eina_Promise *promise;
774 Eina_Future *f = NULL; 774 Eina_Future *f = NULL;
775 775
776 promise = efl_loop_promise_new(o, o, _efl_net_control_access_point_connect_promise_del, NULL); 776 promise = efl_loop_promise_new(o, _efl_net_control_access_point_connect_promise_del, o);
777 EINA_SAFETY_ON_NULL_RETURN_VAL(promise, NULL); 777 EINA_SAFETY_ON_NULL_RETURN_VAL(promise, NULL);
778 778
779 f = eina_future_new(promise); 779 f = eina_future_new(promise);
diff --git a/src/lib/ecore_con/efl_net_control_technology-connman.c b/src/lib/ecore_con/efl_net_control_technology-connman.c
index a006923..92660de 100644
--- a/src/lib/ecore_con/efl_net_control_technology-connman.c
+++ b/src/lib/ecore_con/efl_net_control_technology-connman.c
@@ -371,9 +371,9 @@ _efl_net_control_technology_scan_cb(void *data, const Eldbus_Message *msg, Eldbu
371} 371}
372 372
373static void 373static void
374_efl_net_control_technology_scan_promise_del(void *data, Efl_Loop_Consumer *consumer, const Eina_Promise *dead_ptr) 374_efl_net_control_technology_scan_promise_del(void *data, const Eina_Promise *dead_ptr)
375{ 375{
376 Eldbus_Pending *p = consumer; 376 Eldbus_Pending *p = data;
377 Efl_Net_Control_Technology_Data *pd; 377 Efl_Net_Control_Technology_Data *pd;
378 Eo *o; 378 Eo *o;
379 379
@@ -399,7 +399,7 @@ _efl_net_control_technology_scan(Eo *o, Efl_Net_Control_Technology_Data *pd)
399 Eina_Promise *promise; 399 Eina_Promise *promise;
400 Eina_Future *f = NULL; 400 Eina_Future *f = NULL;
401 401
402 promise = efl_loop_promise_new(o, NULL, _efl_net_control_technology_scan_promise_del, NULL); 402 promise = efl_loop_promise_new(o, _efl_net_control_technology_scan_promise_del, NULL);
403 EINA_SAFETY_ON_NULL_RETURN_VAL(promise, NULL); 403 EINA_SAFETY_ON_NULL_RETURN_VAL(promise, NULL);
404 404
405 f = eina_future_new(promise); 405 f = eina_future_new(promise);
diff --git a/src/lib/ecore_con/efl_net_ip_address.c b/src/lib/ecore_con/efl_net_ip_address.c
index 46fe75b..b6d9317 100644
--- a/src/lib/ecore_con/efl_net_ip_address.c
+++ b/src/lib/ecore_con/efl_net_ip_address.c
@@ -573,7 +573,7 @@ _efl_net_ip_address_resolve(Eo *cls EINA_UNUSED, void *pd EINA_UNUSED, const cha
573 ctx->thread = efl_net_ip_resolve_async_new(host, port, &hints, _efl_net_ip_address_resolve_done, ctx); 573 ctx->thread = efl_net_ip_resolve_async_new(host, port, &hints, _efl_net_ip_address_resolve_done, ctx);
574 EINA_SAFETY_ON_NULL_GOTO(ctx->thread, error_thread); 574 EINA_SAFETY_ON_NULL_GOTO(ctx->thread, error_thread);
575 575
576 ctx->promise = eina_promise_new(efl_loop_future_scheduler_get(efl_main_loop_get()), _efl_net_ip_address_resolve_del, ctx); 576 ctx->promise = efl_loop_promise_new(efl_main_loop_get(), _efl_net_ip_address_resolve_del, ctx);
577 EINA_SAFETY_ON_NULL_GOTO(ctx->promise, error_promise); 577 EINA_SAFETY_ON_NULL_GOTO(ctx->promise, error_promise);
578 578
579 free(str); 579 free(str);
diff --git a/src/lib/eio/efl_io_manager.c b/src/lib/eio/efl_io_manager.c
index 9dcdfee..6ac1746 100644
--- a/src/lib/eio/efl_io_manager.c
+++ b/src/lib/eio/efl_io_manager.c
@@ -119,7 +119,7 @@ _efl_io_manager_direct_ls(const Eo *obj,
119 Eina_Future *future; 119 Eina_Future *future;
120 Eio_File *h; 120 Eio_File *h;
121 121
122 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 122 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
123 if (!p) return NULL; 123 if (!p) return NULL;
124 future = eina_future_new(p); 124 future = eina_future_new(p);
125 125
@@ -162,7 +162,7 @@ _efl_io_manager_stat_ls(const Eo *obj,
162 Eina_Future *future; 162 Eina_Future *future;
163 Eio_File *h; 163 Eio_File *h;
164 164
165 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 165 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
166 if (!p) return NULL; 166 if (!p) return NULL;
167 future = eina_future_new(p); 167 future = eina_future_new(p);
168 168
@@ -204,7 +204,7 @@ _efl_io_manager_ls(const Eo *obj,
204 Eina_Future *future; 204 Eina_Future *future;
205 Eio_File *h; 205 Eio_File *h;
206 206
207 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 207 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
208 if (!p) return NULL; 208 if (!p) return NULL;
209 future = eina_future_new(p); 209 future = eina_future_new(p);
210 210
@@ -256,7 +256,7 @@ _efl_io_manager_stat(const Eo *obj,
256 Eina_Future *future; 256 Eina_Future *future;
257 Eio_File *h; 257 Eio_File *h;
258 258
259 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 259 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
260 if (!p) return NULL; 260 if (!p) return NULL;
261 future = eina_future_new(p); 261 future = eina_future_new(p);
262 262
@@ -285,7 +285,7 @@ _efl_io_manager_xattr_ls(const Eo *obj,
285 Eina_Future *future; 285 Eina_Future *future;
286 Eio_File *h; 286 Eio_File *h;
287 287
288 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 288 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
289 if (!p) return NULL; 289 if (!p) return NULL;
290 future = eina_future_new(p); 290 future = eina_future_new(p);
291 291
@@ -336,7 +336,7 @@ _efl_io_manager_xattr_set(Eo *obj,
336 Eina_Future *future; 336 Eina_Future *future;
337 Eio_File *h; 337 Eio_File *h;
338 338
339 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 339 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
340 if (!p) return NULL; 340 if (!p) return NULL;
341 future = eina_future_new(p); 341 future = eina_future_new(p);
342 342
@@ -366,7 +366,7 @@ _efl_io_manager_xattr_get(const Eo *obj,
366 Eina_Future *future; 366 Eina_Future *future;
367 Eio_File *h; 367 Eio_File *h;
368 368
369 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 369 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
370 if (!p) return NULL; 370 if (!p) return NULL;
371 future = eina_future_new(p); 371 future = eina_future_new(p);
372 372
@@ -405,7 +405,7 @@ _efl_io_manager_open(const Eo *obj,
405 Eina_Future *future; 405 Eina_Future *future;
406 Eio_File *h; 406 Eio_File *h;
407 407
408 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 408 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
409 if (!p) return NULL; 409 if (!p) return NULL;
410 future = eina_future_new(p); 410 future = eina_future_new(p);
411 411
@@ -431,7 +431,7 @@ _efl_io_manager_close(const Eo *obj,
431 Eina_Future *future; 431 Eina_Future *future;
432 Eio_File *h; 432 Eio_File *h;
433 433
434 p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 434 p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
435 if (!p) return NULL; 435 if (!p) return NULL;
436 future = eina_future_new(p); 436 future = eina_future_new(p);
437 437
diff --git a/src/lib/eio/eio_model.c b/src/lib/eio/eio_model.c
index c6e03e6..309af24 100644
--- a/src/lib/eio/eio_model.c
+++ b/src/lib/eio/eio_model.c
@@ -417,7 +417,7 @@ _build_delay(Efl_Loop *loop)
417{ 417{
418 Eina_Promise *p; 418 Eina_Promise *p;
419 419
420 p = eina_promise_new(efl_loop_future_scheduler_get(loop), _cancel_request, NULL); 420 p = efl_loop_promise_new(loop, _cancel_request, NULL);
421 421
422 if (!delayed_queue) 422 if (!delayed_queue)
423 { 423 {
@@ -682,7 +682,7 @@ _eio_model_efl_model_property_set(Eo *obj,
682 682
683 if (finalized) 683 if (finalized)
684 { 684 {
685 Eina_Promise *p = eina_promise_new(efl_loop_future_scheduler_get(obj), _efl_io_manager_future_cancel, NULL); 685 Eina_Promise *p = efl_loop_promise_new(obj, _efl_io_manager_future_cancel, NULL);
686 f = eina_future_new(p); 686 f = eina_future_new(p);
687 687
688 pd->request.move = eio_file_move(pd->path, path, 688 pd->request.move = eio_file_move(pd->path, path,
diff --git a/src/lib/eldbus/eldbus_model_connection.c b/src/lib/eldbus/eldbus_model_connection.c
index a8f2d52..175afcd 100644
--- a/src/lib/eldbus/eldbus_model_connection.c
+++ b/src/lib/eldbus/eldbus_model_connection.c
@@ -70,7 +70,7 @@ _eldbus_model_connection_efl_model_children_slice_get(Eo *obj,
70 return efl_loop_future_resolved(obj, v); 70 return efl_loop_future_resolved(obj, v);
71 } 71 }
72 72
73 p = efl_loop_promise_new(obj, NULL, _eldbus_eina_promise_cancel, NULL); 73 p = efl_loop_promise_new(obj, _eldbus_eina_promise_cancel, NULL);
74 74
75 slice = calloc(1, sizeof (Eldbus_Children_Slice_Promise)); 75 slice = calloc(1, sizeof (Eldbus_Children_Slice_Promise));
76 slice->p = p; 76 slice->p = p;
diff --git a/src/lib/eldbus/eldbus_model_object.c b/src/lib/eldbus/eldbus_model_object.c
index b975514..3759fc3 100644
--- a/src/lib/eldbus/eldbus_model_object.c
+++ b/src/lib/eldbus/eldbus_model_object.c
@@ -127,7 +127,7 @@ _eldbus_model_object_efl_model_children_slice_get(Eo *obj EINA_UNUSED,
127 return efl_loop_future_resolved(obj, v); 127 return efl_loop_future_resolved(obj, v);
128 } 128 }
129 129
130 p = efl_loop_promise_new(obj, NULL, _eldbus_eina_promise_cancel, NULL); 130 p = efl_loop_promise_new(obj, _eldbus_eina_promise_cancel, NULL);
131 131
132 slice = calloc(1, sizeof(struct _Eldbus_Children_Slice_Promise)); 132 slice = calloc(1, sizeof(struct _Eldbus_Children_Slice_Promise));
133 slice->p = p; 133 slice->p = p;
diff --git a/src/lib/eldbus/eldbus_model_private.h b/src/lib/eldbus/eldbus_model_private.h
index e58a25d..3f66859 100644
--- a/src/lib/eldbus/eldbus_model_private.h
+++ b/src/lib/eldbus/eldbus_model_private.h
@@ -41,7 +41,6 @@ extern int eldbus_model_log_dom;
41 41
42static inline void 42static inline void
43_eldbus_eina_promise_cancel(void *data EINA_UNUSED, 43_eldbus_eina_promise_cancel(void *data EINA_UNUSED,
44 Efl_Loop_Consumer *consumer EINA_UNUSED,
45 const Eina_Promise *dead_ptr EINA_UNUSED) 44 const Eina_Promise *dead_ptr EINA_UNUSED)
46{ 45{
47} 46}
diff --git a/src/lib/eldbus/eldbus_model_proxy.c b/src/lib/eldbus/eldbus_model_proxy.c
index ca5cfc3..4da54ad 100644
--- a/src/lib/eldbus/eldbus_model_proxy.c
+++ b/src/lib/eldbus/eldbus_model_proxy.c
@@ -230,7 +230,6 @@ eldbus_model_proxy_property_check(Eldbus_Model_Proxy_Data *pd,
230 230
231static void 231static void
232_eldbus_model_proxy_cancel_cb(void *data, 232_eldbus_model_proxy_cancel_cb(void *data,
233 Efl_Loop_Consumer *consumer EINA_UNUSED,
234 const Eina_Promise *dead_promise EINA_UNUSED) 233 const Eina_Promise *dead_promise EINA_UNUSED)
235{ 234{
236 Eldbus_Model_Proxy_Property_Set_Data *sd = data; 235 Eldbus_Model_Proxy_Property_Set_Data *sd = data;
@@ -294,7 +293,7 @@ _eldbus_model_proxy_efl_model_property_set(Eo *obj EINA_UNUSED,
294 if (!data) goto on_error; 293 if (!data) goto on_error;
295 294
296 data->pd = pd; 295 data->pd = pd;
297 data->promise = efl_loop_promise_new(obj, data, _eldbus_model_proxy_cancel_cb, NULL); 296 data->promise = efl_loop_promise_new(obj, _eldbus_model_proxy_cancel_cb, data);
298 data->property = eina_stringshare_add(property); 297 data->property = eina_stringshare_add(property);
299 if (!(data->value = eina_value_dup(value))) goto on_error; 298 if (!(data->value = eina_value_dup(value))) goto on_error;
300 299
diff --git a/src/lib/elementary/efl_selection_manager.c b/src/lib/elementary/efl_selection_manager.c
index d0c4463..42d66a9 100644
--- a/src/lib/elementary/efl_selection_manager.c
+++ b/src/lib/elementary/efl_selection_manager.c
@@ -224,7 +224,7 @@ _sel_manager_seat_selection_init(Efl_Selection_Manager_Data *pd, unsigned int se
224} 224}
225 225
226static void 226static void
227_sel_manager_promise_cancel(void *data, Efl_Loop_Consumer *consumer, const Eina_Promise *dead_future EINA_UNUSED) 227_sel_manager_promise_cancel(void *data, const Eina_Promise *dead_future EINA_UNUSED)
228{ 228{
229 Sel_Manager_Selection_Lost *sel_lost = data; 229 Sel_Manager_Selection_Lost *sel_lost = data;
230 sel_lost->seat_sel->sel_lost_list = eina_list_remove( 230 sel_lost->seat_sel->sel_lost_list = eina_list_remove(
@@ -247,7 +247,7 @@ _update_sel_lost_list(Efl_Object *obj, Efl_Selection_Type type,
247 sel_lost->seat_sel = seat_sel; 247 sel_lost->seat_sel = seat_sel;
248 seat_sel->sel_lost_list = eina_list_append(seat_sel->sel_lost_list, sel_lost); 248 seat_sel->sel_lost_list = eina_list_append(seat_sel->sel_lost_list, sel_lost);
249 249
250 p = efl_loop_promise_new(obj, NULL, _sel_manager_promise_cancel, NULL); 250 p = efl_loop_promise_new(obj, _sel_manager_promise_cancel, NULL);
251 eina_promise_data_set(p, sel_lost); 251 eina_promise_data_set(p, sel_lost);
252 if (!p) return NULL; 252 if (!p) return NULL;
253 sel_lost->promise = p; 253 sel_lost->promise = p;
diff --git a/src/lib/eo/eina_types.eot b/src/lib/eo/eina_types.eot
index d0b3dcb..d08382c 100644
--- a/src/lib/eo/eina_types.eot
+++ b/src/lib/eo/eina_types.eot
@@ -99,8 +99,6 @@ struct @extern Eina.Stat {
99 ctimensec: ulong; [[The nano version of the timestmap when the file was created]] 99 ctimensec: ulong; [[The nano version of the timestmap when the file was created]]
100} 100}
101 101
102struct @extern Eina.Promise; [[Eina promise type]]
103
104/* FIXME: This definitely shouldn't be here. */ 102/* FIXME: This definitely shouldn't be here. */
105type Efl.Event_Cb: __undefined_type; [[Efl event callback type]] 103type Efl.Event_Cb: __undefined_type; [[Efl event callback type]]
106 104