[elm_entry] raise bug fixed
authorWooHyun Jung <wh0705.jung@samsung.com>
Thu, 4 Nov 2010 08:36:30 +0000 (17:36 +0900)
committerWooHyun Jung <wh0705.jung@samsung.com>
Thu, 4 Nov 2010 08:36:30 +0000 (17:36 +0900)
src/lib/elm_entry.c

index 1dabaa2..6bcd520 100644 (file)
@@ -428,6 +428,7 @@ _on_focus_hook(void *data __UNUSED__, Evas_Object *obj)
    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;
@@ -439,6 +440,14 @@ _on_focus_hook(void *data __UNUSED__, Evas_Object *obj)
        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
      {
@@ -447,18 +456,15 @@ _on_focus_hook(void *data __UNUSED__, Evas_Object *obj)
        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