Dear all.
I found the bug which may occurs enlightenment crash. There is code to insert E_Gadcon pointer to custom_populate_requests list in e_gadcon_custom_new(). However, there is no code to remove deleted E_Gadcon pointer from custom_populate_requests list in e_gadcon_custom_del(). So, if the e_gadcon_custom_del() is called before calling _e_gadcon_custom_populate_idler(), then enlightenment crash may occurs while e calls _e_gadcon_custom_populate_idler() because e accesses deleted E_Gadcon pointer. I modified this problem. Please review this patch. Thanks. -- Doyoun Kang SVN revision: 75033
This commit is contained in:
parent
934caf9241
commit
f8eff99bf8
|
@ -331,6 +331,10 @@ e_gadcon_custom_del(E_Gadcon *gc)
|
|||
{
|
||||
E_OBJECT_CHECK(gc);
|
||||
E_OBJECT_TYPE_CHECK(gc, E_GADCON_TYPE);
|
||||
|
||||
if (eina_list_data_find(custom_populate_requests, gc))
|
||||
custom_populate_requests = eina_list_remove(custom_populate_requests, gc);
|
||||
|
||||
gadcons = eina_list_remove(gadcons, gc);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue