diff -up src/lib/elm_entry.c.fix src/lib/elm_entry.c
--- src/lib/elm_entry.c.fix	2012-07-19 17:31:53.012755965 +0900
+++ src/lib/elm_entry.c	2012-07-19 17:32:37.164755961 +0900
@@ -83,7 +83,6 @@ struct _Widget_Data
    Eina_Bool autoreturnkey : 1;
    Eina_Bool havetext : 1;
    Elm_Cnp_Mode cnp_mode : 2;
-   Ecore_Job *region_job;
 };
 
 struct _Elm_Entry_Context_Menu_Item
@@ -143,8 +142,6 @@ static void _signal_entry_cut_notify(voi
 static void _signal_cursor_changed(void *data, Evas_Object *obj, const char *emission, const char *source);
 static void _add_chars_till_limit(Evas_Object *obj, char **text, int can_add, Length_Unit unit);
 static void _entry_hover_anchor_clicked(void *data, Evas_Object *obj, void *event_info);
-static Eina_Rectangle _viewport_region_get(Evas_Object *data);
-static void _region_job(void *data);
 
 static const char SIG_CHANGED[] = "changed";
 static const char SIG_CHANGED_USER[] = "changed,user";
@@ -1107,12 +1104,6 @@ _move(void *data, Evas *e __UNUSED__, Ev
    Widget_Data *wd = elm_widget_data_get(data);
 
    if (wd->hoversel) _hoversel_position(data);
-
-   if (!_elm_config->desktop_entry)
-     {
-        if (wd->region_job) ecore_job_del(wd->region_job);
-        wd->region_job = ecore_job_add(_region_job, data);
-     }
 }
 
 static void
@@ -1135,12 +1126,6 @@ _resize(void *data, Evas *e __UNUSED__,
         evas_object_resize(wd->ent, vw, vh);
      }
    if (wd->hoversel) _hoversel_position(data);
-
-   if (!_elm_config->desktop_entry)
-     {
-        if (wd->region_job) ecore_job_del(wd->region_job);
-        wd->region_job = ecore_job_add(_region_job, data);
-     }
 }
 
 static void
@@ -1645,55 +1630,6 @@ _signal_entry_changed_user(void *data, E
      }
 }
 
-static Eina_Rectangle
-_viewport_region_get(Evas_Object *data)
-{
-   Eina_Rectangle rect_ret, rect_obj;
-   Evas_Object *parent_obj = data;
-   rect_ret.x = rect_ret.y = rect_ret.w = rect_ret.h = -1;
-
-   Widget_Data *wd = elm_widget_data_get(data);
-   if (!wd) return rect_ret;
-   if (!data || !strlen(elm_widget_type_get(data))) return rect_ret;
-
-   if (wd->scroll)
-     evas_object_geometry_get(wd->scroller, &rect_ret.x, &rect_ret.y, &rect_ret.w, &rect_ret.h);
-
-   while ((parent_obj = elm_widget_parent_get(parent_obj)))
-     {
-        if (!strcmp(elm_widget_type_get(parent_obj), "scroller") ||
-            !strcmp(elm_widget_type_get(parent_obj), "genlist"))
-          {
-             evas_object_geometry_get(parent_obj, &rect_obj.x, &rect_obj.y, &rect_obj.w, &rect_obj.h);
-             if (eina_rectangle_is_empty(&rect_obj)) continue;
-
-             if (!eina_rectangle_is_empty(&rect_ret))
-               eina_rectangle_intersection(&rect_ret, &rect_obj);
-             else
-               rect_ret = rect_obj;
-          }
-     }
-
-   return rect_ret;
-}
-
-static void
-_region_job(void *data)
-{
-   Widget_Data *wd = elm_widget_data_get(data);
-   Eina_Rectangle ret_rect;
-   if (!wd) return;
-   wd->region_job = NULL;
-
-   if (!_elm_config->desktop_entry)
-     {
-        evas_smart_objects_calculate(evas_object_evas_get(data));
-
-        ret_rect = _viewport_region_get(data);
-        edje_object_part_text_viewport_region_set(wd->ent, "elm.text", ret_rect.x, ret_rect.y, ret_rect.w, ret_rect.h);
-     }
-}
-
 static void
 _signal_preedit_changed(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
 {
