This is an automated email from the git hooks/post-receive script.

git pushed a commit to reference refs/pull/124/head
in repository efl.

View the commit online.

commit 483d26a7f8b118f448cfce6c4ba93611559f38af
Author: Swagtoy <[email protected]>
AuthorDate: Mon May 11 01:18:17 2026 -0400

    software_sdl: properly cleanup software engine and outbuf
    
    Signed-off-by: Swagtoy <[email protected]>
---
 .../evas/engines/software_sdl/evas_engine.c        | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/software_sdl/evas_engine.c b/src/modules/evas/engines/software_sdl/evas_engine.c
index c365f4cc42..2736f8c076 100644
--- a/src/modules/evas/engines/software_sdl/evas_engine.c
+++ b/src/modules/evas/engines/software_sdl/evas_engine.c
@@ -89,6 +89,14 @@ evas_software_sdl_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update)
    evas_cache_image_drop(&update->cache_entry);
 }
 
+void
+evas_software_sdl_outbuf_free(Outbuf *ob)
+{
+   SDL_DestroySurface(ob->surface);
+   ob->surface = NULL;
+   free(ob);
+}
+
 ///////////////////////////////////////////////////////
 
 static void *
@@ -121,12 +129,22 @@ eng_output_setup(void *engine, void *in, unsigned int w, unsigned int h)
                                             NULL, // idle_flush
                                             NULL, // flush
                                             NULL,
-                                            NULL, // free
+                                            evas_software_sdl_outbuf_free, // free
                                             w, h);
    return re;
 }
 
+static void
+eng_output_free(void *engine, void *data)
+{
+   Render_Engine *re;
 
+   if ((re = (Render_Engine *)data))
+     {
+        evas_render_engine_software_generic_clean(engine, re);
+        free(re);
+     }
+}
 
 /* module advertising code */
 static int
@@ -151,7 +169,7 @@ module_open(Evas_Module *em)
    //ORD(output_info_setup);
    ORD(output_setup);
    //ORD(canvas_alpha_get);
-   //ORD(output_free);
+   ORD(output_free);
 
    /* now advertise out own api */
    em->functions = (void *)(&func);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to