From 3ca31e4238dcb79b1d58a863fbe23ecbf8088a0d Mon Sep 17 00:00:00 2001 From: discomfitor Date: Sun, 28 Nov 2010 22:03:07 +0000 Subject: [PATCH] fix weird bug where fdh in a list could become null git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@55044 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 312049f..d6f7666 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -996,6 +996,7 @@ _ecore_main_prepare_handlers(void) /* call the prepare callback for all handlers with prep functions */ EINA_LIST_FOREACH_SAFE(fd_handlers_with_prep, l, l2, fdh) { + if (!fdh) fd_handlers_with_prep = eina_list_remove_list(l, fd_handlers_with_prep); if (!fdh->delete_me && fdh->prep_func) { fdh->references++; @@ -1185,6 +1186,7 @@ _ecore_main_fd_handlers_cleanup(void) if (!fd_handlers_to_delete) return; EINA_LIST_FOREACH_SAFE(fd_handlers_to_delete, l, l2, fdh) { + if (!fdh) fd_handlers_to_delete = eina_list_remove_list(l, fd_handlers_to_delete); /* fdh->delete_me should be set for all fdhs at the start of the list */ if (fdh->references) continue; @@ -1290,6 +1292,7 @@ _ecore_main_fd_handlers_buf_call(void) ret = 0; EINA_LIST_FOREACH_SAFE(fd_handlers_with_buffer, l, l2, fdh) { + if (!fdh) fd_handlers_with_buffer = eina_list_remove_list(l, fd_handlers_with_buffer); if ((!fdh->delete_me) && fdh->buf_func) { fdh->references++; -- 2.7.4