From 27bc023395aa2662d1999c419c6f12af9c1d9aaa Mon Sep 17 00:00:00 2001 From: sachiel Date: Tue, 17 Jul 2012 14:22:52 +0000 Subject: [PATCH] Cancel dependents only when the request itself is cancelled git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@73982 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/bin/evas_cserve2_requests.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/bin/evas_cserve2_requests.c b/src/bin/evas_cserve2_requests.c index accd460..61bb544 100644 --- a/src/bin/evas_cserve2_requests.c +++ b/src/bin/evas_cserve2_requests.c @@ -207,12 +207,6 @@ cserve2_request_cancel(Font_Request *req, Client *client, Error_Type err) } } - if (req->dependency) - req->dependency->dependents = eina_list_remove( - req->dependency->dependents, req); - - _request_dependents_cancel(req, err); - // TODO: When we have speculative preload, there may be no waiters, // so we need a flag or something else to make things still load. if ((!req->waiters) && (!req->processing)) @@ -222,6 +216,13 @@ cserve2_request_cancel(Font_Request *req, Client *client, Error_Type err) // TODO: If the request is being processed, it can't be deleted. Must // be marked as delete_me instead. req->funcs->msg_free(req->msg, req->data); + + if (req->dependency) + req->dependency->dependents = eina_list_remove( + req->dependency->dependents, req); + + _request_dependents_cancel(req, err); + free(req); } -- 2.7.4