From d6aa225ca7990fde1eac09e28078e71b73d113ce Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 18 Sep 2011 17:02:26 -0400 Subject: Fix --disable-png behaviour in the Python module. --- libdimension-python/dimension.pyx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'libdimension-python/dimension.pyx') diff --git a/libdimension-python/dimension.pyx b/libdimension-python/dimension.pyx index b8855fe..dffa8fa 100644 --- a/libdimension-python/dimension.pyx +++ b/libdimension-python/dimension.pyx @@ -569,9 +569,19 @@ cdef class Canvas: if fclose(file) != 0: _raise_OSError() - progress = _Progress(dmnsn_png_write_canvas_async(self._canvas, file)) - progress._finalizer = finalize - return progress + cdef dmnsn_progress *progress = dmnsn_png_write_canvas_async(self._canvas, + file) + + try: + if progress == NULL: + _raise_OSError() + + ret = _Progress(progress) + ret._finalizer = finalize + return ret + except: + finalize() + raise def draw_GL(self): """Export the canvas to the current OpenGL context.""" -- cgit v1.2.3