summaryrefslogtreecommitdiff
path: root/src/nigui/private/gtk3/platform_impl.nim
diff options
context:
space:
mode:
authorMarkus Anschober <markus.anschober@cedrat.at>2019-02-03 20:52:33 +0100
committerMarkus Anschober <markus.anschober@cedrat.at>2019-02-03 20:52:33 +0100
commitbc466543290ccb195fd17267641bc759309a8d02 (patch)
treec3dabda743c73571e14549a75c6ce7d6ea69fc9a /src/nigui/private/gtk3/platform_impl.nim
parent21bd91da9e444fd76c7f9cb622d31eca40b0ef3f (diff)
downloadNiGui-bc466543290ccb195fd17267641bc759309a8d02.tar.gz
NiGui-bc466543290ccb195fd17267641bc759309a8d02.zip
Gtk: Fix memory leak on image loading
Diffstat (limited to 'src/nigui/private/gtk3/platform_impl.nim')
-rwxr-xr-xsrc/nigui/private/gtk3/platform_impl.nim1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim
index c30cbd0..bebb6f7 100755
--- a/src/nigui/private/gtk3/platform_impl.nim
+++ b/src/nigui/private/gtk3/platform_impl.nim
@@ -631,6 +631,7 @@ method loadFromFile(image: Image, filePath: string) =
var pixbuf = gdk_pixbuf_new_from_file(filePath, error.addr)
if pixbuf == nil:
pRaiseGError(error)
+ defer: g_object_unref(pixbuf)
canvas.fSurface = gdk_cairo_surface_create_from_pixbuf(pixbuf, 1, nil)
canvas.fCairoContext = cairo_create(canvas.fSurface)
canvas.fData = cairo_image_surface_get_data(canvas.fSurface)