finally fix annoying submenu offset bug

ticket #1691


SVN revision: 78854
This commit is contained in:
Mike Blumenkrantz 2012-11-02 11:56:32 +00:00
parent bcd7b442c4
commit 0cb7e8e3f3
1 changed files with 21 additions and 1 deletions

View File

@ -763,7 +763,17 @@ e_menu_item_submenu_set(E_Menu_Item *mi, E_Menu *sub)
_e_menu_lock = EINA_TRUE;
if ((mi->submenu) || (mi->submenu_pre_cb.func))
{
if (mi->submenu_object) evas_object_del(mi->submenu_object);
if (mi->submenu_object)
{
if (!e_util_strcmp(evas_object_type_get(mi->submenu_object), "edje"))
{
/* already have a correct submenu object, don't re-set it */
_e_menu_lock = EINA_FALSE;
if (sub) e_object_unref(E_OBJECT(sub));
return;
}
evas_object_del(mi->submenu_object);
}
o = edje_object_add(mi->menu->evas);
if (sub && (mi->submenu != sub)) e_object_ref(E_OBJECT(sub));
mi->submenu = sub;
@ -776,6 +786,16 @@ e_menu_item_submenu_set(E_Menu_Item *mi, E_Menu *sub)
edje_object_size_min_calc(mi->submenu_object, &ww, &hh);
mi->submenu_w = ww;
mi->submenu_h = hh;
edje_object_part_swallow(mi->bg_object, "e.swallow.content",
mi->container_object);
edje_object_size_min_calc(mi->bg_object, &ww, &hh);
e_box_pack_options_set(mi->bg_object,
1, 1, /* fill */
1, 0, /* expand */
0.5, 0.5, /* align */
ww, hh, /* min */
-1, -1 /* max */
);
}
else
{