From 1f601af021c75fb2219c745f57268498ba1b9483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Tue, 17 Jul 2012 14:22:52 +0000 Subject: [PATCH] Cancel dependents only when the request itself is cancelled SVN revision: 73982 --- legacy/evas/src/bin/evas_cserve2_requests.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/legacy/evas/src/bin/evas_cserve2_requests.c b/legacy/evas/src/bin/evas_cserve2_requests.c index accd460081..61bb544eee 100644 --- a/legacy/evas/src/bin/evas_cserve2_requests.c +++ b/legacy/evas/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); }