dont wipe filename if getting pixels for reading :)

SVN revision: 11695
This commit is contained in:
Carsten Haitzler 2004-09-22 04:54:39 +00:00
parent 5e8d46e884
commit e1191d8aab
1 changed files with 11 additions and 2 deletions

View File

@ -33,6 +33,7 @@ struct _Evas_Object_Image
char changed : 1;
char dirty_pixels : 1;
int pixels_checked_out;
int load_error;
Evas_List *pixel_updates;
@ -530,9 +531,11 @@ evas_object_image_data_set(Evas_Object *obj, void *data)
o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output,
o->engine_data,
o->cur.has_alpha);
if (o->pixels_checked_out > 0) o->pixels_checked_out--;
if (p_data != o->engine_data)
{
EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o);
o->pixels_checked_out = 0;
}
o->changed = 1;
evas_object_change(obj);
@ -563,7 +566,11 @@ evas_object_image_data_get(Evas_Object *obj, Evas_Bool for_writing)
o->engine_data,
for_writing,
&data);
o->pixels_checked_out++;
if (for_writing)
{
EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o);
}
return data;
}
@ -600,6 +607,7 @@ evas_object_image_data_copy_set(Evas_Object *obj, void *data)
o->engine_data = obj->layer->evas->engine.func->image_alpha_set(obj->layer->evas->engine.data.output,
o->engine_data,
o->cur.has_alpha);
o->pixels_checked_out = 0;
EVAS_OBJECT_IMAGE_FREE_FILE_AND_KEY(o);
}
@ -1038,7 +1046,8 @@ evas_object_image_unload(Evas_Object *obj)
o = (Evas_Object_Image *)(obj->object_data);
if (!o->cur.file) return;
if ((!o->cur.file) ||
(o->pixels_checked_out > 0)) return;
if (o->engine_data)
o->engine_data = obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
o->engine_data,