Cancel dependents only when the request itself is

cancelled



SVN revision: 73982
This commit is contained in:
Iván Briano 2012-07-17 14:22:52 +00:00
parent 30dd288a01
commit 1f601af021
1 changed files with 7 additions and 6 deletions

View File

@ -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);
}