jihoon pushed a commit to branch master.

commit 2ee27ec6d56d7a1b52f345721c3b95a75f460141
Author: Jihoon Kim <[email protected]>
Date:   Wed Mar 6 09:26:44 2013 +0900

    fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in 
preedit state
---
 ChangeLog                 |  5 +++++
 NEWS                      |  1 +
 src/lib/edje/edje_entry.c | 18 +++++++++++++-----
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e936fe5..ac722ed 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 45b0ef4..365c199 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 083b997..01682ff 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;
                }
 

-- 

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev

Reply via email to