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