Hello, Eplayer would segfault if you tried to seek when there was no track selected. (Eg just run eplayer and hit the seek buttons)
(gdb) run Starting program: /usr/local/bin/eplayer [New Thread 16384 (LWP 4139)] [New Thread 32769 (LWP 4140)] [New Thread 16386 (LWP 4141)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 4139)] 0x0804c14d in _eplayer_seek_timer (data=0x8052190) at callbacks.c:422 422 new_pos = pli->current_pos + player->flags.seek_dir; (gdb) bt #0 0x0804c14d in _eplayer_seek_timer (data=0x8052190) at callbacks.c:422 #1 0x4014eafe in _ecore_timer_call (when=1076559873.7694211) at ecore_timer.c:195 #2 0x4014dd7c in _ecore_main_loop_iterate_internal (once_only=0) at ecore_main.c:394 #3 0x4014d63c in ecore_main_loop_begin () at ecore_main.c:49 #4 0x0804b547 in main (argc=0, argv=0x4015030c) at eplayer.c:346 #5 0x405d77a7 in __libc_start_main () from /lib/libc.so.6 (gdb) quit The attached patch should fix this. Thanks, dan
Index: callbacks.c =================================================================== RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v retrieving revision 1.48 diff -u -r1.48 callbacks.c --- callbacks.c 8 Feb 2004 11:55:26 -0000 1.48 +++ callbacks.c 12 Feb 2004 04:25:48 -0000 @@ -419,6 +419,9 @@ PlayListItem *pli = playlist_current_item_get(player->playlist); int new_pos; + if (!pli) + return 0; + new_pos = pli->current_pos + player->flags.seek_dir; if (new_pos <= 0)