redo start/syscon menu deactivate callbacks to not crash

fix T1448
This commit is contained in:
Mike Blumenkrantz 2014-07-27 17:40:53 -04:00
parent e33fa813c2
commit fb3f852601
2 changed files with 14 additions and 10 deletions

View File

@ -296,15 +296,17 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_
}
static void
_menu_cb_post(void *data, E_Menu *m __UNUSED__)
_menu_cb_post(void *data, E_Menu *m)
{
Instance *inst;
Instance *inst = data;
Eina_Bool fin;
inst = data;
if (stopping || (!inst->main_menu)) return;
fin = m == inst->main_menu;
e_object_del(E_OBJECT(m));
if (!fin) return;
e_gadcon_locked_set(inst->gcc->gadcon, 0);
edje_object_signal_emit(inst->o_button, "e,state,unfocused", "e");
e_object_del(E_OBJECT(inst->main_menu));
inst->main_menu = NULL;
}

View File

@ -226,14 +226,16 @@ _cb_shutdown_show(void *data, Evas_Object *obj __UNUSED__, const char *emission
}
static void
_cb_menu_post(void *data, E_Menu *m __UNUSED__)
_cb_menu_post(void *data, E_Menu *m)
{
Instance *inst;
Instance *inst = data;
Eina_Bool fin;
if (!(inst = data)) return;
if (!inst->menu) return;
e_gadcon_locked_set(inst->gcc->gadcon, EINA_FALSE);
e_object_del(E_OBJECT(inst->menu));
if (stopping || (!inst->menu)) return;
fin = m == inst->menu;
e_object_del(E_OBJECT(m));
if (!fin) return;
e_gadcon_locked_set(inst->gcc->gadcon, 0);
inst->menu = NULL;
}