Hello all,

It turns out that I'm not using elm_entry_cursor_content_get()
correctly.  I just assume it would return NULL if there's something
wrong.  Therefore, the infinity loop is my bad.

Sorry for the false alarm.


brian

On Thu, Oct 14, 2010 at 2:44 PM, Brian Wang <[email protected]> wrote:
> Hello all,
>
> I'm using a fairly recent svn version (r53178).  Calling
> elm_entry_cursor_next() under a certain circumstance will cause an
> infinite loop somewhere.
>
> I'll try to describe the problem in my best:
> -------------------
> I have:
> elm_bubble
>  |---> elm_scroller
>            |---> elm_entry
> The elm_entry contains only a single line.  Pressing (mouse,down) on
> the elm_entry obj will in turn call elm_entry_cursor_next().
> The infinite loop happens when the mouse is clicked at the very bottom
> of elm_entry obj.  There seems to be nothing (no text) at the clicked
> point.
>
> If you need more information, please let me know.  It's probably very
> specific to my environment (theme).
>
> The gdb backtrace (captured when it's in some loops and I interrupted
> in the middle of the loops):
> -----------------------------------------------
> #0  0xb7e8d2ec in eina_rbtree_inline_lookup (root=0x810a098,
> key=0xbfffd998, length=0, cmp=0xb7e8d40e
> <_eina_hash_hash_rbtree_cmp_hash>, data=0x0)
>    at ../../src/include/eina_inline_rbtree.x:38
> #1  0xb7e8d9cb in _eina_hash_find_by_hash (hash=0x84bb9b0,
> tuple=0xbfffd9dc, key_hash=3, hash_head=0xbfffd9ec) at eina_hash.c:338
> #2  0xb7e8f9ba in eina_hash_find_by_hash (hash=0x84bb9b0,
> key=0xbfffda64, key_length=0, key_hash=443328659) at eina_hash.c:1449
> #3  0xb7e8fb8d in eina_hash_find (hash=0x84bb9b0, key=0xbfffda64) at
> eina_hash.c:1485
> #4  0xb7f7ed97 in evas_common_font_query_kerning (fi=0x84bb968,
> left=68, right=69, kerning=0xbfffdaac) at evas_font_query.c:19
> #5  0xb7f7ef7a in evas_common_font_query_size (fn=0x84bbb10,
>    text=0x8187cec L"bout]  [above]  [abroad]  [absence]  [absent]
> [absolute]  [abstract]  [academy]  [accept]  [access]  [accident]
> [accommodate]  [accompany]  [accord]  [account]  [accumulate]  ",
> intl_props=0x84cfc80, w=0xbfffdc2c, h=0xbfffdc20) at
> evas_font_query.c:131
> #6  0xb7f7f446 in evas_common_font_query_char_coords (fn=0x84bbb10,
>    in_text=0x8187c58 L"[a]  [abandon]  [ability]  [able]  [about]
> [above]  [abroad]  [absence]  [absent]  [absolute]  [abstract]
> [academy]  [accept]  [access]  [accident]  [accommodate]  [accompany]
> [accord]  [account]  "..., intl_props=0x84cfc80, pos=214,
> cx=0xbfffdc2c, cy=0xbfffdc28, cw=0xbfffdc24,
>    ch=0xbfffdc20) at evas_font_query.c:395
> #7  0xb709fd30 in eng_font_char_coords_get (data=0x80924e8, font=0x84bbb10,
>    text=0x8187c58 L"[a]  [abandon]  [ability]  [able]  [about]
> [above]  [abroad]  [absence]  [absent]  [absolute]  [abstract]
> [academy]  [accept]  [access]  [accident]  [accommodate]  [accompany]
> [accord]  [account]  "..., intl_props=0x84cfc80, pos=214,
> cx=0xbfffdc2c, cy=0xbfffdc28, cw=0xbfffdc24,
>    ch=0xbfffdc20) at evas_engine.c:710
> #8  0xb7f44265 in evas_textblock_cursor_char_geometry_get
> (cur=0x84ba9e8, cx=0xbfffdcfc, cy=0xbfffdcf8, cw=0xbfffdcf4,
> ch=0xbfffdcf0)
>    at evas_object_textblock.c:6596
> #9  0xb7f43e63 in evas_textblock_cursor_geometry_get (cur=0x84ba9e8,
> cx=0xbfffdcfc, cy=0xbfffdcf8, cw=0xbfffdcf4, ch=0xbfffdcf0, dir=0x0,
>    ctype=EVAS_TEXTBLOCK_CURSOR_UNDER) at evas_object_textblock.c:6451
> #10 0xb7bfaa65 in _edje_entry_real_part_configure (rp=0x80d2a08) at
> edje_entry.c:1860
> #11 0xb7bfb853 in _edje_entry_cursor_next (rp=0x80d2a08,
> cur=EDJE_CURSOR_MAIN) at edje_entry.c:2234
> #12 0xb7c1887c in edje_object_part_text_cursor_next (obj=0x84b6570,
> part=0xb7e79ffc "elm.text", cur=EDJE_CURSOR_MAIN) at edje_util.c:1865
> #13 0xb7e1fbe7 in elm_entry_cursor_next (obj=0x84b6390) at elm_entry.c:1828
> #14 0xb6fdc83d in entry_cursor_word_get (obj=0x84b6390) at module.c:806
> #15 0xb6fdcc47 in entry_match_pressed (data=0x0, obj=0x84b6390,
> event_info=0x0) at module.c:966
> #16 0xb7f283fd in evas_object_smart_callback_call (obj=0x84b6390,
> event=0xb7e79ec2 "press", event_info=0x0) at evas_object_smart.c:517
> #17 0xb7e1e382 in _signal_mouse_down (data=0x84b6390, obj=0x84b6570,
> emission=0x84b28f8 "mouse,down,1", source=0x84aaf80 "elm.text") at
> elm_entry.c:1197
> #18 0xb7c0db97 in _edje_emit_cb (ed=0x84b66a8, sig=0x84b28f8
> "mouse,down,1", src=0x84aaf80 "elm.text") at edje_program.c:1271
> #19 0xb7c0d9ef in _edje_emit_handle (ed=0x84b66a8, sig=0x84b28f8
> "mouse,down,1", src=0x84aaf80 "elm.text") at edje_program.c:1219
> #20 0xb7c096df in _edje_message_process (em=0x8105de0) at
> edje_message_queue.c:650
> #21 0xb7c09af8 in _edje_message_queue_process () at edje_message_queue.c:755
> #22 0xb7c08aa2 in _edje_job (data=0x0) at edje_message_queue.c:173
> #23 0xb7ed9f88 in _ecore_job_event_handler (data=0x0, type=11,
> ev=0x81269d0) at ecore_job.c:98
> #24 0xb7ed57ef in _ecore_event_call () at ecore_events.c:577
> #25 0xb7edb563 in _ecore_main_loop_iterate_internal (once_only=0) at
> ecore_main.c:1346
> #26 0xb7eda1c1 in ecore_main_loop_begin () at ecore_main.c:568
> -----------------------------------------------
>
>
> --
> brian
> ------------------
>
> Cool-Karaoke - The smallest recording studio, in your palm, open-sourced
> http://cool-idea.com.tw/
>
> iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe
>



-- 
brian
------------------

Cool-Karaoke - The smallest recording studio, in your palm, open-sourced
http://cool-idea.com.tw/

iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to