summaryrefslogtreecommitdiff
path: root/legacy/ecore
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2010-12-01 10:31:20 +0000
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2010-12-01 10:31:20 +0000
commit0fdba352ba07861226ccd84b7a4ee207903f189a (patch)
tree91e318d1ba08b6f0f07bef426f56ce065c6281f5 /legacy/ecore
parent10bfc098fba979f791657cf8f5e51afe30f24e11 (diff)
avoid segv
SVN revision: 55117
Diffstat (limited to 'legacy/ecore')
-rw-r--r--legacy/ecore/src/lib/ecore/ecore_main.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/legacy/ecore/src/lib/ecore/ecore_main.c b/legacy/ecore/src/lib/ecore/ecore_main.c
index 28ef59c4b8..d6de0c76b6 100644
--- a/legacy/ecore/src/lib/ecore/ecore_main.c
+++ b/legacy/ecore/src/lib/ecore/ecore_main.c
@@ -1016,7 +1016,11 @@ _ecore_main_prepare_handlers(void)
1016 /* call the prepare callback for all handlers with prep functions */ 1016 /* call the prepare callback for all handlers with prep functions */
1017 EINA_LIST_FOREACH_SAFE(fd_handlers_with_prep, l, l2, fdh) 1017 EINA_LIST_FOREACH_SAFE(fd_handlers_with_prep, l, l2, fdh)
1018 { 1018 {
1019 if (!fdh) fd_handlers_with_prep = eina_list_remove_list(l, fd_handlers_with_prep); 1019 if (!fdh)
1020 {
1021 fd_handlers_with_prep = eina_list_remove_list(l, fd_handlers_with_prep);
1022 continue;
1023 }
1020 if (!fdh->delete_me && fdh->prep_func) 1024 if (!fdh->delete_me && fdh->prep_func)
1021 { 1025 {
1022 fdh->references++; 1026 fdh->references++;
@@ -1210,7 +1214,11 @@ _ecore_main_fd_handlers_cleanup(void)
1210 if (!fd_handlers_to_delete) return; 1214 if (!fd_handlers_to_delete) return;
1211 EINA_LIST_FOREACH_SAFE(fd_handlers_to_delete, l, l2, fdh) 1215 EINA_LIST_FOREACH_SAFE(fd_handlers_to_delete, l, l2, fdh)
1212 { 1216 {
1213 if (!fdh) fd_handlers_to_delete = eina_list_remove_list(l, fd_handlers_to_delete); 1217 if (!fdh)
1218 {
1219 fd_handlers_to_delete = eina_list_remove_list(l, fd_handlers_to_delete);
1220 continue;
1221 }
1214 /* fdh->delete_me should be set for all fdhs at the start of the list */ 1222 /* fdh->delete_me should be set for all fdhs at the start of the list */
1215 if (fdh->references) 1223 if (fdh->references)
1216 continue; 1224 continue;
@@ -1319,7 +1327,11 @@ _ecore_main_fd_handlers_buf_call(void)
1319 ret = 0; 1327 ret = 0;
1320 EINA_LIST_FOREACH_SAFE(fd_handlers_with_buffer, l, l2, fdh) 1328 EINA_LIST_FOREACH_SAFE(fd_handlers_with_buffer, l, l2, fdh)
1321 { 1329 {
1322 if (!fdh) fd_handlers_with_buffer = eina_list_remove_list(l, fd_handlers_with_buffer); 1330 if (!fdh)
1331 {
1332 fd_handlers_with_buffer = eina_list_remove_list(l, fd_handlers_with_buffer);
1333 continue;
1334 }
1323 if ((!fdh->delete_me) && fdh->buf_func) 1335 if ((!fdh->delete_me) && fdh->buf_func)
1324 { 1336 {
1325 fdh->references++; 1337 fdh->references++;