From e468bdd3913c354437fb536d28946763ee31a107 Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 6 Jul 2012 08:16:03 +0000 Subject: [PATCH] evas, ecore: fix crash when sdl doesn't init properly. SVN revision: 73400 --- legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c | 2 +- .../evas/src/modules/engines/gl_sdl/evas_engine.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c index 01bd165e32..da1ddbd0c4 100644 --- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c +++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c @@ -643,7 +643,7 @@ ecore_evas_gl_sdl_new(const char* name, int w, int h, int fullscreen, int nofram if (!rmethod) return NULL; ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, 0, noframe, 0); - ee->driver = "gl_sdl"; + if (ee) ee->driver = "gl_sdl"; return ee; } #else diff --git a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c index 149eab01c7..f822f3a4f0 100644 --- a/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_sdl/evas_engine.c @@ -63,13 +63,17 @@ eng_output_free(void *data) Render_Engine *re; re = (Render_Engine *)data; - evas_gl_common_context_free(re->gl_context); - free(re); - evas_common_font_shutdown(); - evas_common_image_shutdown(); + if (re) + { + evas_gl_common_context_free(re->gl_context); + free(re); - SDL_QuitSubSystem(SDL_INIT_VIDEO); + evas_common_font_shutdown(); + evas_common_image_shutdown(); + + SDL_QuitSubSystem(SDL_INIT_VIDEO); + } } static void