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