summaryrefslogtreecommitdiff
path: root/src/bin/evas/evas_cserve2_requests.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2013-09-05 17:44:10 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2013-10-28 15:47:15 +0900
commit85cd382725ab877a62d935d9fb37368d4b868f59 (patch)
treed0e3c982d449c3eefb59254158547f104dca252e /src/bin/evas/evas_cserve2_requests.c
parent97d9fab7042f213498268dfc58636b823380245c (diff)
evas/cserve2: Drop pre-emptive load of large images
When the image is too large, let's not preload it unless specifically requested by the application. Value 320x320 is completely arbitrary.
Diffstat (limited to 'src/bin/evas/evas_cserve2_requests.c')
-rw-r--r--src/bin/evas/evas_cserve2_requests.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/bin/evas/evas_cserve2_requests.c b/src/bin/evas/evas_cserve2_requests.c
index ab63db88f5..9a8eb2f4c0 100644
--- a/src/bin/evas/evas_cserve2_requests.c
+++ b/src/bin/evas/evas_cserve2_requests.c
@@ -289,6 +289,38 @@ cserve2_request_cancel_all(Slave_Request *req, Error_Type err)
289} 289}
290 290
291void 291void
292cserve2_request_dependents_drop(Slave_Request *req, Slave_Request_Type type)
293{
294 Slave_Request *dep;
295 Eina_List *l, *l_next;
296
297 if (type != CSERVE2_REQ_IMAGE_SPEC_LOAD)
298 {
299 CRIT("Only CSERVE2_REQ_IMAGE_SPEC_LOAD is supported.");
300 return;
301 }
302
303 EINA_LIST_FOREACH_SAFE(req->dependents, l, l_next, dep)
304 {
305 if (dep->type == type)
306 {
307 req->dependents = eina_list_remove_list(req->dependents, l);
308
309 if (dep->processing)
310 dep->cancelled = EINA_TRUE;
311 else
312 {
313 cserve2_entry_request_drop(dep->data, type);
314 requests[type].waiting = eina_inlist_remove(
315 requests[type].waiting, EINA_INLIST_GET(dep));
316 dep->funcs->msg_free(dep->msg, dep->data);
317 free(dep);
318 }
319 }
320 }
321}
322
323void
292cserve2_requests_init(void) 324cserve2_requests_init(void)
293{ 325{
294 DBG("Initializing requests."); 326 DBG("Initializing requests.");