changeset 2316:1f85311baa65

GTK4: dw_pixmap_new_from_data() should return NULL on failure. Move dw_pixmap_destroy() into thread safety.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 16 Feb 2021 05:22:28 +0000
parents 112595f9a645
children a2020f907a6c
files gtk4/dw.c
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gtk4/dw.c	Tue Feb 16 05:09:26 2021 +0000
+++ b/gtk4/dw.c	Tue Feb 16 05:22:28 2021 +0000
@@ -6845,6 +6845,11 @@
          unlink(template);
          pixmap->handle = handle;
       }
+      else
+      {
+         free(pixmap);
+         pixmap = 0;
+      }
    }
    DW_FUNCTION_RETURN_THIS(pixmap);
 }
@@ -6924,13 +6929,17 @@
  *       pixmap: Handle to a pixmap returned by
  *               dw_pixmap_new..
  */
-void dw_pixmap_destroy(HPIXMAP pixmap)
+DW_FUNCTION_DEFINITION(dw_pixmap_destroy, void, HPIXMAP pixmap)
+DW_FUNCTION_ADD_PARAM1(pixmap)
+DW_FUNCTION_NO_RETURN(dw_pixmap_destroy)
+DW_FUNCTION_RESTORE_PARAM1(pixmap, HPIXMAP)
 {
    g_object_unref(G_OBJECT(pixmap->pixbuf));
    cairo_surface_destroy(pixmap->image);
    if(pixmap->font)
       free(pixmap->font);
    free(pixmap);
+   DW_FUNCTION_RETURN_NOTHING;
 }
 
 /*