fix segv added in

SVN revision: 27499
This commit is contained in:
Carsten Haitzler 2006-12-17 16:46:30 +00:00
parent f83220c857
commit 7c357ef3fe
2 changed files with 14 additions and 8 deletions

View File

@ -464,6 +464,7 @@ eng_image_alpha_get(void *data, void *image)
Evas_GL_Image *im;
re = (Render_Engine *)data;
if (!image) return 1;
im = image;
/* FIXME: can move to gl_common */
switch (im->cs.space)
@ -483,6 +484,7 @@ eng_image_colorspace_get(void *data, void *image)
Evas_GL_Image *im;
re = (Render_Engine *)data;
if (!image) return EVAS_COLORSPACE_ARGB8888;
im = image;
return im->cs.space;
}
@ -754,7 +756,7 @@ static void *
eng_image_data_put(void *data, void *image, DATA32 *image_data)
{
Render_Engine *re;
Evas_GL_Image *im;
Evas_GL_Image *im, *im2;
re = (Render_Engine *)data;
im = image;
@ -768,10 +770,11 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data)
w = im->im->image->w;
h = im->im->image->h;
im2 = eng_image_new_from_data(data, w, h, image_data,
eng_image_alpha_get(data, image),
eng_image_colorspace_get(data, image));
evas_gl_common_image_free(im);
return eng_image_new_from_data(data, w, h, image_data,
eng_image_alpha_get(data, image),
eng_image_colorspace_get(data, image));
im = im2;
}
break;
case EVAS_COLORSPACE_YCBCR422P601_PL:

View File

@ -334,6 +334,7 @@ eng_image_alpha_get(void *data, void *image)
{
RGBA_Image *im;
if (!image) return 1;
im = image;
switch (im->cs.space)
{
@ -350,6 +351,7 @@ eng_image_colorspace_get(void *data, void *image)
{
RGBA_Image *im;
if (!image) return EVAS_COLORSPACE_ARGB8888;
im = image;
return im->cs.space;
}
@ -646,7 +648,7 @@ eng_image_data_get(void *data, void *image, int to_write, DATA32 **image_data)
static void *
eng_image_data_put(void *data, void *image, DATA32 *image_data)
{
RGBA_Image *im;
RGBA_Image *im, *im2;
im = image;
switch (im->cs.space)
@ -658,10 +660,11 @@ eng_image_data_put(void *data, void *image, DATA32 *image_data)
w = im->image->w;
h = im->image->h;
im2 = eng_image_new_from_data(data, w, h, image_data,
eng_image_alpha_get(data, image),
eng_image_colorspace_get(data, image));
evas_common_image_unref(im);
return eng_image_new_from_data(data, w, h, image_data,
eng_image_alpha_get(data, image),
eng_image_colorspace_get(data, image));
im = im2;
}
break;
case EVAS_COLORSPACE_YCBCR422P601_PL: