use per-instance event handler for batman powersave eventing
==19679== Invalid read of size 4 ==19679== at 0x5CC90EF: _ecore_event_message_handler_handler_del (ecore_event_message_handler.c:194) ==19679== by 0x5CCA332: ecore_event_message_handler_del (ecore_event_message_handler.eo.c:22) ==19679== by 0x5CBC7E3: ecore_event_handler_del (ecore_events.c:51) ==19679== by 0x2A23F4F1: _batman_removed_cb (batman.c:579) ==19679== by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78) ==19679== by 0xC166F4D: _event_callback_call (eo_base_class.c:1560) ==19679== by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633) ==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636) ==19679== by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157) ==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636) ==19679== by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037) ==19679== by 0x500B1D: _gadget_remove (e_gadget.c:426) ==19679== by 0x5037A9: _gadget_menu_remove (e_gadget.c:1263) ==19679== by 0x552600: _e_menu_active_call (e_menu.c:2066) ==19679== by 0x55445E: _e_menu_cb_mouse_up (e_menu.c:2809) ==19679== by 0x5CC9933: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:359) ==19679== by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14) ==19679== by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681) ==19679== by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711) ==19679== by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444) ==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173) ==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97) ==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50) ==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246) ==19679== by 0x5476B6: main (e_main.c:1092) ==19679== Address 0x212af268 is 40 bytes inside a block of size 48 free'd ==19679== at 0x4C30D18: free (vg_replace_malloc.c:530) ==19679== by 0x5CC9BE6: _ecore_event_message_handler_efl_loop_message_handler_message_call (ecore_event_message_handler.c:389) ==19679== by 0x5CD31D1: efl_loop_message_handler_message_call (efl_loop_message_handler.eo.c:14) ==19679== by 0x5CCDA73: _efl_loop_message_process (efl_loop.c:681) ==19679== by 0x5CCDC64: efl_loop_message_process (efl_loop.c:711) ==19679== by 0x5CC7453: _ecore_main_loop_iterate_internal (ecore_main.c:2444) ==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173) ==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97) ==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50) ==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246) ==19679== by 0x5476B6: main (e_main.c:1092) ==19679== Block was alloc'd at ==19679== at 0x4C31A1E: calloc (vg_replace_malloc.c:711) ==19679== by 0x5CC8EE1: _ecore_event_message_handler_handler_add (ecore_event_message_handler.c:148) ==19679== by 0x5CCA0FB: ecore_event_message_handler_add (ecore_event_message_handler.eo.c:14) ==19679== by 0x5CBC790: ecore_event_handler_add (ecore_events.c:35) ==19679== by 0x2A23FB87: _batman_created_cb (batman.c:661) ==19679== by 0x6A9A33D: _eo_evas_smart_cb (evas_object_smart.c:78) ==19679== by 0xC166F4D: _event_callback_call (eo_base_class.c:1560) ==19679== by 0xC16728E: _efl_object_event_callback_legacy_call (eo_base_class.c:1633) ==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636) ==19679== by 0x6A889CA: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1157) ==19679== by 0xC167334: efl_event_callback_legacy_call (eo_base_class.c:1636) ==19679== by 0x6A9CBA7: evas_object_smart_callback_call (evas_object_smart.c:1037) ==19679== by 0x501172: _gadget_object_create (e_gadget.c:548) ==19679== by 0x506B90: e_gadget_type_add (e_gadget.c:2056) ==19679== by 0x2A23CA44: sysinfo_init (mod.c:161) ==19679== by 0x2A23CCF5: e_modapi_init (mod.c:203) ==19679== by 0x556814: e_module_enable (e_module.c:524) ==19679== by 0x555DF9: e_module_all_load (e_module.c:324) ==19679== by 0x554EFF: _module_done_cb (e_module.c:73) ==19679== by 0x73531C1: eio_async_end (eio_file.c:510) ==19679== by 0x5CF8D67: _ecore_thread_kill (ecore_thread.c:229) ==19679== by 0x5CF8E1C: _ecore_thread_handler (ecore_thread.c:256) ==19679== by 0x5CB97D0: _ecore_main_call_flush (ecore.c:1090) ==19679== by 0x5CB9858: _thread_callback (ecore.c:1101) ==19679== by 0x5CF51F3: _ecore_pipe_handler_call (ecore_pipe.c:602) ==19679== by 0x5CF5529: _ecore_pipe_read (ecore_pipe.c:725) ==19679== by 0x5CC3677: _ecore_call_fd_cb (ecore_private.h:476) ==19679== by 0x5CC6793: _ecore_main_fd_handlers_call (ecore_main.c:2051) ==19679== by 0x5CC7414: _ecore_main_loop_iterate_internal (ecore_main.c:2439) ==19679== by 0x5CC457E: _ecore_main_loop_begin (ecore_main.c:1173) ==19679== by 0x5CCC0CD: _efl_loop_begin (efl_loop.c:97) ==19679== by 0x5CCED13: efl_loop_begin (efl_loop.eo.c:50) ==19679== by 0x5CC46F7: ecore_main_loop_begin (ecore_main.c:1246) ==19679== by 0x5476B6: main (e_main.c:1092)
This commit is contained in:
parent
af24997906
commit
846c84639b
|
@ -1,17 +1,15 @@
|
|||
#include "batman.h"
|
||||
|
||||
Eina_Bool upower;
|
||||
Eina_List *batman_device_batteries;
|
||||
Eina_List *batman_device_ac_adapters;
|
||||
double batman_init_time;
|
||||
EINTERN Eina_Bool upower;
|
||||
EINTERN Eina_List *batman_device_batteries;
|
||||
EINTERN Eina_List *batman_device_ac_adapters;
|
||||
EINTERN double batman_init_time;
|
||||
|
||||
static Eina_Bool _batman_cb_warning_popup_timeout(void *data);
|
||||
static void _batman_cb_warning_popup_hide(void *data, Evas *e, Evas_Object *obj, void *event);
|
||||
static void _batman_warning_popup_destroy(Instance *inst);
|
||||
static void _batman_warning_popup(Instance *inst, int time, double percent);
|
||||
|
||||
static Ecore_Event_Handler *_handler = NULL;
|
||||
|
||||
Eina_List *
|
||||
_batman_battery_find(const char *udi)
|
||||
{
|
||||
|
@ -575,8 +573,6 @@ _batman_removed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_data)
|
|||
Ecore_Event_Handler *handler;
|
||||
|
||||
if (inst->o_main != event_data) return;
|
||||
if (_handler)
|
||||
ecore_event_handler_del(_handler);
|
||||
if (inst->cfg->batman.popup)
|
||||
E_FREE_FUNC(inst->cfg->batman.popup, evas_object_del);
|
||||
if (inst->cfg->batman.configure)
|
||||
|
@ -658,13 +654,13 @@ _batman_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED)
|
|||
EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_batman_mouse_down_cb, inst);
|
||||
evas_object_event_callback_add(inst->cfg->batman.o_gadget, EVAS_CALLBACK_RESIZE, _batman_resize_cb, inst);
|
||||
_handler = ecore_event_handler_add(E_EVENT_POWERSAVE_CONFIG_UPDATE,
|
||||
_powersave_cb_config_update, inst);
|
||||
evas_object_show(inst->cfg->batman.o_gadget);
|
||||
evas_object_smart_callback_del_full(obj, "gadget_created", _batman_created_cb, data);
|
||||
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_SCREENSAVER_ON, _screensaver_on, inst);
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_SCREENSAVER_OFF, _screensaver_off, inst);
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_SCREENSAVER_ON, _screensaver_on, inst);
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_POWERSAVE_CONFIG_UPDATE,
|
||||
_powersave_cb_config_update, inst);
|
||||
|
||||
_batman_config_updated(inst);
|
||||
}
|
||||
|
@ -686,12 +682,12 @@ sysinfo_batman_create(Evas_Object *parent, Instance *inst)
|
|||
EVAS_CALLBACK_MOUSE_DOWN,
|
||||
_batman_mouse_down_cb, inst);
|
||||
evas_object_event_callback_add(inst->cfg->batman.o_gadget, EVAS_CALLBACK_RESIZE, _batman_resize_cb, inst);
|
||||
_handler = ecore_event_handler_add(E_EVENT_POWERSAVE_CONFIG_UPDATE,
|
||||
_powersave_cb_config_update, inst);
|
||||
evas_object_show(inst->cfg->batman.o_gadget);
|
||||
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_SCREENSAVER_ON, _screensaver_on, inst);
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_SCREENSAVER_OFF, _screensaver_off, inst);
|
||||
E_LIST_HANDLER_APPEND(inst->cfg->batman.handlers, E_EVENT_POWERSAVE_CONFIG_UPDATE,
|
||||
_powersave_cb_config_update, inst);
|
||||
|
||||
_batman_config_updated(inst);
|
||||
|
||||
|
@ -761,4 +757,3 @@ batman_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_UNU
|
|||
|
||||
return inst->o_main;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue