path: root/src/lib/elementary/efl_ui_spin_button_private.h
diff options
authorCedric BAIL <>2019-07-11 15:53:54 -0700
committerMarcel Hollerbach <>2019-07-17 21:57:59 +0200
commit477611f01460f4b9881f2b5dd4b88f463d8f81b0 (patch)
tree839cd0eeb4a3f486f8dc41ae71ab49da00f6f5a0 /src/lib/elementary/efl_ui_spin_button_private.h
parent83700fe13c495193d72c95e906c0866e39c6e5c9 (diff)
elementary: fix potential race condition by using Eina_Future attached to the object.
I get some random segfault in elementary test suite pointing to this code. Most likely we do not properly destroy the timer during destruction. Could be because we initiate a delay while destruction is going on or something like that. Anyway, it is easier and more robust to get it fixed by linking the lifetime of the timeout to the lifetime of the widget as future allow us to do easily. Reviewed-by: Marcel Hollerbach <> Differential Revision:
Diffstat (limited to 'src/lib/elementary/efl_ui_spin_button_private.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_spin_button_private.h b/src/lib/elementary/efl_ui_spin_button_private.h
index 1c32c75a6d..5c6d0a977b 100644
--- a/src/lib/elementary/efl_ui_spin_button_private.h
+++ b/src/lib/elementary/efl_ui_spin_button_private.h
@@ -5,7 +5,7 @@ typedef struct _Efl_Ui_Spin_Button_Data Efl_Ui_Spin_Button_Data;
5struct _Efl_Ui_Spin_Button_Data 5struct _Efl_Ui_Spin_Button_Data
6{ 6{
7 Evas_Object *ent, *inc_button, *dec_button, *text_button; 7 Evas_Object *ent, *inc_button, *dec_button, *text_button;
8 Ecore_Timer *delay_change_timer; /**< a timer for a delay,changed smart callback */ 8 Eina_Future *delay_change_timer; /**< a timer for a delay,changed smart callback */
9 9
10 Efl_Ui_Layout_Orientation dir; 10 Efl_Ui_Layout_Orientation dir;
11 11