Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/modules/engines/gl_x11


Modified Files:
        evas_engine.c 


Log Message:


fix color modulation for gl surfaces. also fix segvs tat can happen. xrender
engine is behind now though. can't do yuv surfaces (yet)

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/modules/engines/gl_x11/evas_engine.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- evas_engine.c       17 Dec 2006 16:46:30 -0000      1.19
+++ evas_engine.c       19 Dec 2006 14:12:40 -0000      1.20
@@ -496,6 +496,7 @@
    Evas_GL_Image *im;
 
    re = (Render_Engine *)data;
+   if (!image) return NULL;
    eng_window_use(re->win);
    im = image;
    /* FIXME: can move to gl_common */
@@ -546,6 +547,7 @@
    Evas_GL_Image *im;
 
    re = (Render_Engine *)data;
+   if (!image) return NULL;
    im = image;
    return im->im->info.comment;
 }
@@ -568,6 +570,7 @@
    Evas_GL_Image *im;
    
    re = (Render_Engine *)data;
+   if (!image) return;
    im = image;
    /* FIXME: can move to gl_common */
    if (im->cs.space == cspace) return;
@@ -651,6 +654,7 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+   if (!image) return;
    eng_window_use(re->win);
    evas_gl_common_image_free(image);
 }
@@ -661,6 +665,12 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+   if (!image)
+     {
+       *w = 0;
+       *h = 0;
+       return;
+     }
    if (w) *w = ((Evas_GL_Image *)image)->im->image->w;
    if (h) *h = ((Evas_GL_Image *)image)->im->image->h;
 }
@@ -672,8 +682,8 @@
    Evas_GL_Image *im, *im_old;
 
    re = (Render_Engine *)data;
-   eng_window_use(re->win);
    if (!image) return NULL;
+   eng_window_use(re->win);
    im_old = image;
    if ((im_old) && (im_old->im->image->w == w) && (im_old->im->image->h == h))
      return image;
@@ -703,6 +713,7 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+   if (!image) return NULL;
    evas_gl_common_image_dirty(image);
    return image;
 }
@@ -714,6 +725,11 @@
    Evas_GL_Image *im;
 
    re = (Render_Engine *)data;
+   if (!image)
+     {
+       *image_data = NULL;
+       return NULL;
+     }
    im = image;
    eng_window_use(re->win);
    evas_common_load_image_data_from_file(im->im);
@@ -759,6 +775,7 @@
    Evas_GL_Image *im, *im2;
 
    re = (Render_Engine *)data;
+   if (!image) return NULL;
    im = image;
    eng_window_use(re->win);
    switch (im->cs.space)
@@ -803,6 +820,7 @@
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+   if (!image) return;
    eng_window_use(re->win);
    re->win->gl_context->dc = context;
    evas_gl_common_image_draw(re->win->gl_context, image,



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to