Thanks, Raster.

In the current edje_entry, there are some bugs related to sequence and miss
to call '_edje_entry_imf_cursor_info_set()'.
Cursor geometry information should be transferred after
ecore_imf_context_focus_in API is called.

This patch will resolve those bugs.
Would you please apply this patch?

-----Original Message-----
From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com] 
Sent: Friday, July 29, 2011 2:56 PM
To: Jihoon Kim
Cc: enlightenment-devel@lists.sourceforge.net
Subject: Re: [E-devel] [PATCH] notify immodule to know the cursor location

On Thu, 21 Jul 2011 19:22:14 +0900 Jihoon Kim <jihoon48....@samsung.com>
said:

hmm. patch didn't apply cleanly, so I had to manually patch in a lot of
rejections (12 of them), but I've put it in and fixed a warning as well.
thanks
very much! :)

> Hi, EFL developers.
> 
> In immodule, the cursor location is needed to move the word candidate
> window.
> In this patch, calling ecore_imf_context_cursor_location_set lets immodule
> know the cursor location.
> 
> Would you please review this patch?
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com

Index: edje_entry.c
===================================================================
--- edje_entry.c        (revision 61932)
+++ edje_entry.c        (working copy)
@@ -106,8 +106,8 @@ _edje_entry_focus_in_cb(void *data, Evas_Object *o
    if (evas_object_focus_get(rp->edje->obj))
      {
         ecore_imf_context_reset(en->imf_context);
+        ecore_imf_context_focus_in(en->imf_context);
         _edje_entry_imf_cursor_info_set(en);
-        ecore_imf_context_focus_in(en->imf_context);
      }
 }
 
@@ -124,7 +124,7 @@ _edje_entry_focus_out_cb(void *data, Evas_Object *
    if (!en || !en->imf_context) return;
 
    ecore_imf_context_reset(en->imf_context);
-   ecore_imf_context_cursor_position_set(en->imf_context, 
evas_textblock_cursor_pos_get(en->cursor));
+   _edje_entry_imf_cursor_info_set(en);
    ecore_imf_context_focus_out(en->imf_context);
 }
 #endif
@@ -152,6 +152,7 @@ _edje_focus_in_cb(void *data, Evas *e __UNUSED__,
 
    ecore_imf_context_reset(en->imf_context);
    ecore_imf_context_focus_in(en->imf_context);
+   _edje_entry_imf_cursor_info_set(en);
 #endif
 }
 
@@ -176,7 +177,7 @@ _edje_focus_out_cb(void *data, Evas *e __UNUSED__,
    if (!en->imf_context) return;
 
    ecore_imf_context_reset(en->imf_context);
-   ecore_imf_context_cursor_position_set(en->imf_context, 
evas_textblock_cursor_pos_get(en->cursor));
+   _edje_entry_imf_cursor_info_set(en);
    ecore_imf_context_focus_out(en->imf_context);
 #endif
 }
@@ -2079,6 +2080,7 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, co
 
    _anchors_get(en->cursor, rp->object, en);
    _edje_emit(rp->edje, "entry,changed", rp->part->name);
+   _edje_entry_imf_cursor_info_set(en);
 #if 0
    /* Don't emit cursor changed cause it didn't. It's just init to 0. */
    _edje_emit(rp->edje, "cursor,changed", rp->part->name);

------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to