From 3c05a283b65b1e74c60699a96d9ab68af59a8bbe Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Sun, 28 Nov 2010 22:03:07 +0000 Subject: [PATCH] fix weird bug where fdh in a list could become null SVN revision: 55044 --- legacy/ecore/src/lib/ecore/ecore_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/legacy/ecore/src/lib/ecore/ecore_main.c b/legacy/ecore/src/lib/ecore/ecore_main.c index 312049f1cf..d6f7666fce 100644 --- a/legacy/ecore/src/lib/ecore/ecore_main.c +++ b/legacy/ecore/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++;