Dear all,

sometimes removing tag string in elm_entry, segfault is ocurring.
it seems to fail at getting format txt. but i'm not sure about it.
if this patch's correct, plz commit it.
thanks.

--- reproduce step ---

1. run elementary_test
2. entries -> entry
3. move the cursor to last char.
4. press delete key until segfault

--- gdb backtrace ---

Starting program: /usr/local/bin/elementary_test
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
_evas_textblock_node_format_remove (o=0x8202a38, n=0x0, visible_adjustment=0)
    at evas_object_textblock.c:6416
6416            nnode = _NODE_FORMAT(EINA_INLIST_GET(n)->next);
(gdb) bt
#0  _evas_textblock_node_format_remove (o=0x8202a38, n=0x0,
    visible_adjustment=0) at evas_object_textblock.c:6416
#1  0x00343574 in _evas_textblock_node_format_remove_matching (o=0x8202a38,
    fmt=0x84ea198) at evas_object_textblock.c:6356
#2  0x0034b5c3 in evas_textblock_cursor_char_delete (cur=0x84eb5c0)
    at evas_object_textblock.c:7516
#3  0x0043de9f in _delete_emit (ed=0x84a1d58, c=0x84eb5c0, pos=133,
    backspace=1 '\001', en=<optimized out>) at edje_entry.c:1029
#4  0x0047a709 in _delete_emit (backspace=1 '\001', pos=133, c=0x84eb5c0,
    ed=0x84a1d58, en=<optimized out>) at edje_entry.c:1005
#5  _edje_key_down_cb (data=0x84a1d58, e=0x8440468, obj=0xb73b39f0,
    event_info=0xbffff068) at edje_entry.c:1215
#6  0x00303cf7 in evas_object_event_callback_call (obj=0xb73b39f0,
    type=EVAS_CALLBACK_KEY_DOWN, event_info=0xbffff068, event_id=152924)
    at evas_callbacks.c:224
#7  0x0030ce05 in evas_event_feed_key_down (e=0x8440468,
    keyname=0x84f4e60 "BackSpace", key=0x84f4e6a "BackSpace",
    string=0x84f4e74 "\b", compose=0x84f4e74 "\b", timestamp=92336243,
    data=0x0) at evas_events.c:1340
#8  0x00d3c5dd in _ecore_event_evas_key (e=0x84f4e38, press=ECORE_DOWN)
    at ecore_input_evas.c:154
---Type <return> to continue, or q <return> to quit---
#9  0x003fa6b4 in _ecore_call_handler_cb (event=<optimized out>,
    type=<optimized out>, data=0x0, func=0xd3c5f0 <ecore_event_evas_key_down>)
    at ecore_private.h:317
#10 _ecore_event_call () at ecore_events.c:704
#11 0x003ff1e5 in _ecore_main_loop_iterate_internal (once_only=0)
    at ecore_main.c:1844
#12 0x003ff70f in ecore_main_loop_begin () at ecore_main.c:887
#13 0x001d7044 in elm_run () at elm_main.c:836
#14 0x08055fef in elm_main (argc=1, argv=0xbffff294) at test.c:621
#15 0x08054959 in main (argc=1, argv=0xbffff294) at test.c:630
Index: evas/src/lib/canvas/evas_object_textblock.c
===================================================================
--- evas/src/lib/canvas/evas_object_textblock.c (리비전 66778)
+++ evas/src/lib/canvas/evas_object_textblock.c (작업 사본)
@@ -6328,7 +6328,7 @@
           {
              formats = eina_list_prepend(formats, fmt);
           }
-        else if (fstr && !fmt->opener)
+        else if (fstr && !fmt->opener && formats)
           {
              Evas_Object_Textblock_Node_Format *fnode;
              size_t fstr_len;
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to