evas/cserve2: Set image->flags.loaded on loaded_handle.

The flag and pixel data will be set on this callback, avoiding new
image_load_data() to create a new request or wait for the LOADED
message.



SVN revision: 73999
This commit is contained in:
Rafael Antognolli 2012-07-17 15:14:54 +00:00
parent 0efde61fef
commit 665cffc165
3 changed files with 14 additions and 6 deletions

View File

@ -340,10 +340,15 @@ _slave_read_cb(Slave *s __UNUSED__, Slave_Command cmd, void *msg, void *data)
if (cmd == ERROR)
{
Error_Type *err = msg;
WRN("Received error %d from slave, for request type %d.",
*err, req->type);
req->funcs->error(req->data, *err);
}
else
resp = req->funcs->response(req->data, msg, &resp_size);
{
DBG("Received response from slave for message type %d.", req->type);
resp = req->funcs->response(req->data, msg, &resp_size);
}
EINA_LIST_FREE(req->waiters, w)
{

View File

@ -777,13 +777,10 @@ evas_cache2_image_load_data(Image_Entry *ie)
{
evas_cserve2_image_load_data_wait(ie);
RGBA_Image *im = (RGBA_Image *)ie;
im->image.data = evas_cserve2_image_data_get(ie);
DBG("try cserve2 image data '%s' '%s' loaded!",
ie->file, ie->key ? ie->key : "");
if (im->image.data)
{
im->image.no_free = 1;
ie->flags.loaded = EINA_TRUE;
error = EVAS_LOAD_ERROR_NONE;
}
else

View File

@ -335,7 +335,7 @@ _image_opened_cb(void *data, const void *msg_received)
}
static void
_loaded_handle(Image_Entry *ie, Msg_Loaded *msg)
_loaded_handle(Image_Entry *ie, const Msg_Loaded *msg)
{
Data_Entry *dentry = ie->data2;
const char *shmpath;
@ -368,7 +368,13 @@ _loaded_handle(Image_Entry *ie, Msg_Loaded *msg)
}
if (ie->data2)
ie->flags.alpha_sparse = msg->alpha_sparse;
{
RGBA_Image *im = (RGBA_Image *)ie;
im->image.data = evas_cserve2_image_data_get(ie);
ie->flags.alpha_sparse = msg->alpha_sparse;
ie->flags.loaded = EINA_TRUE;
im->image.no_free = 1;
}
}
static void