Evas: When doing eng_output_free, even if there is no Render_Engine,
authordevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 20 Aug 2011 10:19:17 +0000 (10:19 +0000)
committerdevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 20 Aug 2011 10:19:17 +0000 (10:19 +0000)
we still want to shutdown common_font & common_image anyway.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@62624 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/software_x11/evas_engine.c

index 3cabf1e..908a84d 100644 (file)
@@ -596,19 +596,18 @@ eng_output_free(void *data)
 {
    Render_Engine *re;
 
-   if (!data) return;
-
-   re = (Render_Engine *)data;
-
 #ifdef BUILD_ENGINE_SOFTWARE_XLIB
 // NOTE: XrmGetDatabase() result is shared per connection, do not free it.
 //   if (re->xrdb) XrmDestroyDatabase(re->xrdb);
 #endif
 
-   re->outbuf_free(re->ob);
-   evas_common_tilebuf_free(re->tb);
-   if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
-   free(re);
+   if ((re = (Render_Engine *)data))
+     {
+        re->outbuf_free(re->ob);
+        evas_common_tilebuf_free(re->tb);
+        if (re->rects) evas_common_tilebuf_free_render_rects(re->rects);
+        free(re);
+     }
 
    evas_common_font_shutdown();
    evas_common_image_shutdown();