forked from enlightenment/enlightenment
e/bluez4: bug fixes
Patch by: Lucas Joia <lucasjoia@profusion.mobi> SVN revision: 82207
This commit is contained in:
parent
7d9c6e3bfd
commit
07cc9c9659
|
@ -254,9 +254,13 @@ _menu_post_deactivate(void *data __UNUSED__, E_Menu *m)
|
|||
{
|
||||
Eina_List *iter;
|
||||
E_Menu_Item *mi;
|
||||
Instance *inst;
|
||||
Instance *inst = data;
|
||||
|
||||
if ((inst = data)) e_gadcon_locked_set(inst->gcc->gadcon, 0);
|
||||
if (!(m->parent_item) || !(m->parent_item->menu))
|
||||
{
|
||||
e_gadcon_locked_set(inst->gcc->gadcon, 0);
|
||||
inst->menu = NULL;
|
||||
}
|
||||
EINA_LIST_FOREACH(m->items, iter, mi)
|
||||
if (mi->submenu) e_menu_deactivate(mi->submenu);
|
||||
e_object_del(E_OBJECT(m));
|
||||
|
@ -291,7 +295,7 @@ _ebluez4_add_devices(Instance *inst)
|
|||
e_menu_item_check_set(mi, 1);
|
||||
subm = e_menu_new();
|
||||
e_menu_post_deactivate_callback_set(subm, _menu_post_deactivate,
|
||||
NULL);
|
||||
inst);
|
||||
e_menu_item_submenu_set(mi, subm);
|
||||
submi = e_menu_item_new(subm);
|
||||
if (dev->connected)
|
||||
|
@ -415,7 +419,7 @@ _gc_shutdown(E_Gadcon_Client *gcc)
|
|||
evas_object_del(inst->o_bluez4);
|
||||
}
|
||||
|
||||
e_menu_deactivate(inst->menu);
|
||||
if (inst->menu) e_menu_deactivate(inst->menu);
|
||||
_ebluez4_search_dialog_del(inst);
|
||||
_ebluez4_adap_list_dialog_del(inst);
|
||||
|
||||
|
@ -482,6 +486,7 @@ EAPI int
|
|||
e_modapi_shutdown(E_Module *m)
|
||||
{
|
||||
ebluez4_edbus_shutdown();
|
||||
e_gadcon_provider_unregister(&_gc_class);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -552,7 +557,7 @@ ebluez4_update_all_gadgets_visibility(void)
|
|||
EINA_LIST_FOREACH(instances, iter, inst)
|
||||
{
|
||||
_ebluez4_set_mod_icon(inst->o_bluez4);
|
||||
e_menu_deactivate(inst->menu);
|
||||
if (inst->menu) e_menu_deactivate(inst->menu);
|
||||
_ebluez4_search_dialog_del(inst);
|
||||
_ebluez4_adap_list_dialog_del(inst);
|
||||
}
|
||||
|
|
|
@ -413,9 +413,6 @@ _on_device_found(void *context, const EDBus_Message *msg)
|
|||
if(eina_list_search_unsorted(ctxt->found_devices, _dev_addr_cmp, addr))
|
||||
return;
|
||||
|
||||
if (!edbus_message_arguments_get(msg, "a{sv}", &dict))
|
||||
return;
|
||||
|
||||
_retrieve_properties(dict, &addr, &name, &icon, &paired, &connected, &uuids);
|
||||
|
||||
dev = calloc(1, sizeof(Device));
|
||||
|
@ -552,6 +549,7 @@ _unset_default_adapter(void)
|
|||
ctxt->devices = NULL;
|
||||
_free_dev_list(&ctxt->found_devices);
|
||||
ctxt->found_devices = NULL;
|
||||
edbus_object_unref(ctxt->adap_obj);
|
||||
ctxt->adap_obj = NULL;
|
||||
ebluez4_update_all_gadgets_visibility();
|
||||
}
|
||||
|
@ -750,9 +748,10 @@ ebluez4_edbus_init(void)
|
|||
void
|
||||
ebluez4_edbus_shutdown(void)
|
||||
{
|
||||
_free_dev_list(&ctxt->devices);
|
||||
_free_dev_list(&ctxt->found_devices);
|
||||
if (ctxt->adap_obj)
|
||||
_unset_default_adapter();
|
||||
_free_adap_list();
|
||||
edbus_object_unref(edbus_proxy_object_get(ctxt->man_proxy));
|
||||
edbus_connection_unref(ctxt->conn);
|
||||
free(ctxt);
|
||||
|
||||
|
|
Loading…
Reference in New Issue