elementary/naviframe : Restore dummy_edje to naviframe. Now dummy_edje is always smart member of naviframe, so it cannot be removed before deleting naviframe.

SVN revision: 80739
This commit is contained in:
WooHyun Jung 2012-12-12 08:58:03 +00:00
parent 650c098697
commit aa3edaa8e6
3 changed files with 15 additions and 0 deletions

View File

@ -810,3 +810,7 @@
2012-12-12 ChunEon Park (Hermet)
* Update mapbuf forcely whenever it's states are changed.
2012-12-12 WooHyun Jung
* Restore dummy object to elm_naviframe. Now, dummy object is always smart member of naviframe.

View File

@ -92,6 +92,7 @@ Fixes:
* Don't manipulate dead memory in Eina_Inlist in elm_transit.c.
* Remove dummy object from elm_naviframe.
* Update mapbuf forcely whenever it's states are changed.
* Restore dummy object to elm_naviframe. Now, dummy object is always smart member of naviframe.
Removals:

View File

@ -466,6 +466,7 @@ _item_del_pre_hook(Elm_Object_Item *it)
(sd->stack->last->prev, Elm_Naviframe_Item);
sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(nit));
if (!sd->stack) elm_widget_resize_object_set(WIDGET(it), sd->dummy_edje);
if (top && !sd->on_deletion) /* must raise another one */
{
@ -1243,9 +1244,11 @@ static void
_elm_naviframe_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
{
Elm_Naviframe_Smart_Data *priv = _pd;
Elm_Widget_Smart_Data *wd = eo_data_get(obj, ELM_OBJ_WIDGET_CLASS);
eo_do_super(obj, evas_obj_smart_add());
priv->dummy_edje = wd->resize_obj;
priv->auto_pushed = EINA_TRUE;
priv->freeze_events = EINA_TRUE;
@ -1299,6 +1302,8 @@ _elm_naviframe_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
sd->on_deletion = EINA_FALSE;
evas_object_del(sd->dummy_edje);
eo_do_super(obj, evas_obj_smart_del());
}
@ -1394,6 +1399,7 @@ _item_push(Eo *obj, void *_pd, va_list *list)
evas_object_show(VIEW(it));
elm_widget_resize_object_set(obj, VIEW(it));
evas_object_smart_member_add(sd->dummy_edje, obj);
if (prev_it)
{
@ -1529,6 +1535,7 @@ _item_insert_after(Eo *obj, void *_pd, va_list *list)
if (top_inserted)
{
elm_widget_resize_object_set(obj, VIEW(it));
evas_object_smart_member_add(sd->dummy_edje, obj);
evas_object_show(VIEW(it));
evas_object_hide(VIEW(after));
}
@ -1580,6 +1587,7 @@ _item_pop(Eo *obj, void *_pd, va_list *list)
(sd->stack->last->prev, Elm_Naviframe_Item);
sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(it));
if (!sd->stack) elm_widget_resize_object_set(obj, sd->dummy_edje);
if (prev_it)
{
@ -1590,6 +1598,7 @@ _item_pop(Eo *obj, void *_pd, va_list *list)
}
elm_widget_resize_object_set(obj, VIEW(prev_it));
evas_object_smart_member_add(sd->dummy_edje, obj);
evas_object_raise(VIEW(prev_it));
/* access */
@ -1667,6 +1676,7 @@ elm_naviframe_item_promote(Elm_Object_Item *it)
sd->stack = eina_inlist_demote(sd->stack, EINA_INLIST_GET(nit));
elm_widget_resize_object_set(WIDGET(it), VIEW(nit));
evas_object_smart_member_add(sd->dummy_edje, WIDGET(it));
/* this was the previous top one */
prev_it = EINA_INLIST_CONTAINER_GET