From 3f949f8a9705972a4b61532602814b5b47d1a328 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sat, 26 Apr 2014 19:07:45 -0400 Subject: canvas: Avoid copying entire dmnsn_canvas_optimizer structs. --- libdimension/canvas.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libdimension/canvas.c') diff --git a/libdimension/canvas.c b/libdimension/canvas.c index 8671402..c7c1994 100644 --- a/libdimension/canvas.c +++ b/libdimension/canvas.c @@ -60,9 +60,10 @@ dmnsn_delete_canvas(dmnsn_canvas *canvas) /* Set a canvas optimizer */ void -dmnsn_canvas_optimize(dmnsn_canvas *canvas, dmnsn_canvas_optimizer optimizer) +dmnsn_canvas_optimize(dmnsn_canvas *canvas, + const dmnsn_canvas_optimizer *optimizer) { - dmnsn_array_push(canvas->optimizers, &optimizer); + dmnsn_array_push(canvas->optimizers, optimizer); } /* Set the value of a pixel */ @@ -79,7 +80,7 @@ dmnsn_canvas_set_pixel(dmnsn_canvas *canvas, size_t x, size_t y, /* Call the optimizers */ DMNSN_ARRAY_FOREACH (dmnsn_canvas_optimizer *, i, canvas->optimizers) { - i->optimizer_fn(canvas, *i, x, y); + i->optimizer_fn(canvas, i->ptr, x, y); } } -- cgit v1.2.3