From ef1b1a4f2245d7537417fa047ee2133f457a37e8 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Fri, 29 Jan 2016 10:58:39 -0500 Subject: [PATCH] Fix #5944: Fix PNG writing from notebook backend --- src/_png.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/_png.cpp b/src/_png.cpp index 1dc94c08de4..37eab9fad80 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -214,21 +214,21 @@ static PyObject *Py_write_png(PyObject *self, PyObject *args, PyObject *kwds) #endif fp = mpl_PyFile_Dup(py_file, (char *)"wb", &offset); } - } - if (fp) { - close_dup_file = true; - } else { - PyErr_Clear(); - PyObject *write_method = PyObject_GetAttrString(py_file, "write"); - if (!(write_method && PyCallable_Check(write_method))) { + if (fp) { + close_dup_file = true; + } else { + PyErr_Clear(); + PyObject *write_method = PyObject_GetAttrString(py_file, "write"); + if (!(write_method && PyCallable_Check(write_method))) { + Py_XDECREF(write_method); + PyErr_SetString(PyExc_TypeError, + "Object does not appear to be a 8-bit string path or " + "a Python file-like object"); + goto exit; + } Py_XDECREF(write_method); - PyErr_SetString(PyExc_TypeError, - "Object does not appear to be a 8-bit string path or " - "a Python file-like object"); - goto exit; } - Py_XDECREF(write_method); } png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);