forked from enlightenment/efl
elementary conformant: clear internal pointer if holded object is deleted
Summary: Set sd->scroller as NULL when the scroller object is deleted. It prevents error logs when elm_conform tries to delete resize callback function from deleted object. @fix Test Plan: N/A Reviewers: raster, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4519
This commit is contained in:
parent
6e8b628864
commit
ca075ce21f
|
@ -693,6 +693,15 @@ _on_content_resize(void *data,
|
||||||
sd->show_region_job = ecore_job_add(_show_region_job, data);
|
sd->show_region_job = ecore_job_add(_show_region_job, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_on_top_scroller_del(void *data, const Efl_Event *event)
|
||||||
|
{
|
||||||
|
ELM_CONFORMANT_DATA_GET(data, sd);
|
||||||
|
|
||||||
|
if (event->object == sd->scroller)
|
||||||
|
sd->scroller = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ELEMENTARY_X
|
#ifdef HAVE_ELEMENTARY_X
|
||||||
|
@ -721,13 +730,20 @@ _autoscroll_objects_update(void *data)
|
||||||
if (top_scroller != sd->scroller)
|
if (top_scroller != sd->scroller)
|
||||||
{
|
{
|
||||||
if (sd->scroller)
|
if (sd->scroller)
|
||||||
evas_object_event_callback_del
|
{
|
||||||
(sd->scroller, EVAS_CALLBACK_RESIZE, _on_content_resize);
|
evas_object_event_callback_del_full
|
||||||
|
(sd->scroller, EVAS_CALLBACK_RESIZE, _on_content_resize, data);
|
||||||
|
efl_event_callback_del(sd->scroller, EFL_EVENT_DEL, _on_top_scroller_del, data);
|
||||||
|
}
|
||||||
|
|
||||||
sd->scroller = top_scroller;
|
sd->scroller = top_scroller;
|
||||||
|
|
||||||
if (sd->scroller)
|
if (sd->scroller)
|
||||||
evas_object_event_callback_add
|
{
|
||||||
(sd->scroller, EVAS_CALLBACK_RESIZE, _on_content_resize, data);
|
evas_object_event_callback_add
|
||||||
|
(sd->scroller, EVAS_CALLBACK_RESIZE, _on_content_resize, data);
|
||||||
|
efl_event_callback_add(sd->scroller, EFL_EVENT_DEL, _on_top_scroller_del, data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue