Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *top = elm_widget_top_get(obj);
Evas_Object *parent_obj = obj;
+ Evas_Object *above = NULL;
if (!wd) return;
if (!wd->editable) return;
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON);
evas_object_smart_callback_call(obj, SIG_FOCUSED, NULL);
_check_enable_returnkey(obj);
+
+ while (parent_obj)
+ {
+ evas_object_data_set(parent_obj, "raise", evas_object_above_get(parent_obj));
+ evas_object_raise(parent_obj);
+ parent_obj = elm_widget_parent_get(parent_obj);
+ }
+
}
else
{
evas_object_focus_set(wd->ent, EINA_FALSE);
if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF);
evas_object_smart_callback_call(obj, SIG_UNFOCUSED, NULL);
- }
-
- do
+
+ while (parent_obj)
{
+ above = evas_object_data_get(parent_obj, "raise");
+ evas_object_stack_below(parent_obj, above);
parent_obj = elm_widget_parent_get(parent_obj);
- if (!parent_obj) break;
-
- evas_object_raise(parent_obj);
}
- while (parent_obj);
-
- evas_object_raise(obj);
+ }
+
}
static void