diff --git a/ChangeLog b/ChangeLog index e936fe595d..ac722ed80a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-03-06 Jihoon Kim (jihoon) + + * Edje entry: fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state + + 2013-03-05 Jiyoun Park (Jypark) * Ecore_x: Add atom related with indicator type. diff --git a/NEWS b/NEWS index 45b0ef49e6..365c199f89 100644 --- a/NEWS +++ b/NEWS @@ -187,3 +187,4 @@ Fixes: * fix custom states for edje SPACER parts * fix edje program filters * fix dangling pointer problem related with shmget fail + * fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 083b997dce..01682ff4b7 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1230,12 +1230,20 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event *)&ecore_ev); - if (!strcmp(ev->keyname, "Down") || - (!strcmp(ev->keyname, "KP_Down") && !ev->string) || - !strcmp(ev->keyname, "Up") || - (!strcmp(ev->keyname, "KP_Up") && !ev->string)) + if (en->have_preedit) { - if (en->have_preedit) + if (!strcmp(ev->keyname, "Down") || + (!strcmp(ev->keyname, "KP_Down") && !ev->string) || + !strcmp(ev->keyname, "Up") || + (!strcmp(ev->keyname, "KP_Up") && !ev->string) || + !strcmp(ev->keyname, "Next") || + (!strcmp(ev->keyname, "KP_Next") && !ev->string) || + !strcmp(ev->keyname, "Prior") || + (!strcmp(ev->keyname, "KP_Prior") && !ev->string) || + !strcmp(ev->keyname, "Home") || + (!strcmp(ev->keyname, "KP_Home") && !ev->string) || + !strcmp(ev->keyname, "End") || + (!strcmp(ev->keyname, "KP_End") && !ev->string)) ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; }