Hi,

        Another set of little patch fixing some ecore sdl configure issue, and 
some 
surface initialisation inside evas sdl engine.

        I still have a bug when doing multiple cycle of evas_init/evas_shutdown 
inside evas_common_font. Will require some time to track it down, but other 
engine could also be impacted.

Cedric
diff -Nrau -X exclude.cvs e17-clean/libs/evas/src/modules/engines/software_sdl/evas_engine.c e17-dev/libs/evas/src/modules/engines/software_sdl/evas_engine.c
--- e17-clean/libs/evas/src/modules/engines/software_sdl/evas_engine.c	2007-08-22 17:48:19.000000000 +0200
+++ e17-dev/libs/evas/src/modules/engines/software_sdl/evas_engine.c	2007-08-23 11:01:39.000000000 +0200
@@ -176,6 +176,8 @@
 	exit(-1);
      }
 
+   memset(re->surface->pixels, 0, w * h * 4);
+
    /* Destroy the copy */
    evas_cache_engine_image_drop(eim);
 }
@@ -217,8 +219,9 @@
 						 int *x, int *y, int *w, int *h,
 						 int *cx, int *cy, int *cw, int *ch)
 {
-   Render_Engine*				re = (Render_Engine*) data;
-   Tilebuf_Rect*				tb_rect = NULL;
+   Render_Engine*                       re = (Render_Engine*) data;
+   Tilebuf_Rect*			tb_rect = NULL;
+   SDL_Rect                             rect;
 
    if (re->end)
      {
@@ -246,6 +249,13 @@
 	re->end = 1;
      }
 
+   rect.x = *x;
+   rect.y = *y;
+   rect.w = *w;
+   rect.h = *h;
+
+   SDL_FillRect(re->surface, &rect, 0);
+
    /* Return the "fake" surface so it is passed to the drawing routines. */
    return re->rgba_engine_image;
 }
@@ -305,7 +315,7 @@
 static void*
 evas_engine_sdl_image_load(void *data, const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo)
 {
-   Render_Engine*	re = (Render_Engine*) data;
+   Render_Engine*	re = (Render_Engine*) data;;
 
    *error = 0;
    return evas_cache_engine_image_request(re->cache, file, key, lo, NULL, error);
@@ -830,6 +840,8 @@
         exit(-1);
      }
 
+   memset(re->surface->pixels, 0, w * h * 4);
+
    re->alpha = alpha;
    re->hwsurface = hwsurface;
    re->fullscreen = fullscreen;
diff -Nrau -X exclude.cvs e17-clean/libs/ecore/src/lib/ecore_evas/Makefile.am e17-dev/libs/ecore/src/lib/ecore_evas/Makefile.am
--- e17-clean/libs/ecore/src/lib/ecore_evas/Makefile.am	2007-07-16 20:17:59.000000000 +0200
+++ e17-dev/libs/ecore/src/lib/ecore_evas/Makefile.am	2007-07-16 11:55:25.000000000 +0200
@@ -31,7 +31,7 @@
 endif
 
 if BUILD_ECORE_SDL
-ECORE_SDL_INC = -I$(top_srcdir)/src/lib/ecore_sdl
+ECORE_SDL_INC = -I$(top_srcdir)/src/lib/ecore_sdl @sdl_cflags@
 ECORE_SDL_LIB = $(top_builddir)/src/lib/ecore_sdl/libecore_sdl.la
 ECORE_SDL_LDF = -L$(top_builddir)/src/lib/ecore_sdl/.libs
 else
@@ -81,6 +81,7 @@
 $(ECORE_SDL_LIB) \
 $(top_builddir)/src/lib/ecore/libecore.la \
 @EVAS_LIBS@ \
[EMAIL PROTECTED]@ \
 @XCB_LIBS@
 
 libecore_evas_la_DEPENDENCIES = \
diff -Nrau -X exclude.cvs e17-clean/libs/ecore/configure.in e17-dev/libs/ecore/configure.in
--- e17-clean/libs/ecore/configure.in	2007-08-06 16:51:03.000000000 +0200
+++ e17-dev/libs/ecore/configure.in	2007-09-15 19:51:16.000000000 +0200
@@ -561,18 +562,29 @@
   ]
 )
 if test "x$want_ecore_evas_sdl" = "xyes"; then
+  sdl_cflags=`$SDL_CONFIG --cflags`
+  sdl_libs=`$SDL_CONFIG --libs`
+
+  save_CFLAGS=$CFLAGS
+  CFLAGS=$CFLAGS" $sdl_cflags"
+echo $CFLAGS
   AC_CHECK_HEADER(Evas_Engine_SDL.h,
     [
       AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL in Ecore_Evas])
       have_ecore_evas_sdl="yes"
-      sdl_cflags=`$SDL_CONFIG --cflags`
-      sdl_libs=`$SDL_CONFIG --libs`
     ], [
       dummy=no
     ], [
       #include <Evas.h>
     ]
   )
+  CFLAGS=$save_CFLAGS
+fi
+
+if test "x$have_ecore_evas_sdl" = "xyes"; then
+  PKG_CHECK_MODULES(SDL, sdl >= 1.3.0,
+    [ AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL]) ],
+    [ dummy=no ]);
 fi
 
 AC_SUBST(sdl_cflags)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to