From: <md...@us...> - 2007-09-05 15:47:40
|
Revision: 3790 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3790&view=rev Author: mdboom Date: 2007-09-05 08:47:35 -0700 (Wed, 05 Sep 2007) Log Message: ----------- Fix some recent reference counting bugs in ft2font.cpp (Thanks to Paul Kienzle). Modified Paths: -------------- trunk/matplotlib/src/ft2font.cpp Modified: trunk/matplotlib/src/ft2font.cpp =================================================================== --- trunk/matplotlib/src/ft2font.cpp 2007-09-05 15:28:21 UTC (rev 3789) +++ trunk/matplotlib/src/ft2font.cpp 2007-09-05 15:47:35 UTC (rev 3790) @@ -743,8 +743,7 @@ { _VERBOSE("FT2Font::~FT2Font"); - if(image) - Py::_XDECREF(image); + Py_XDECREF(image); FT_Done_Face ( face ); for (size_t i=0; i<glyphs.size(); i++) { @@ -781,7 +780,7 @@ _VERBOSE("FT2Font::clear"); args.verify_length(0); - delete image; + Py_XDECREF(image); image = NULL; angle = 0.0; @@ -1037,7 +1036,7 @@ if ( (size_t)num >= gms.size()) throw Py::ValueError("Glyph index out of range"); - //todo: refcount? + Py_INCREF(gms[num]); return Py::asObject(gms[num]); } @@ -1667,8 +1666,11 @@ Py::Object FT2Font::get_image (const Py::Tuple &args) { args.verify_length(0); - Py_INCREF(image); - return Py::asObject(image); + if (image) { + Py_XINCREF(image); + return Py::asObject(image); + } + throw Py::RuntimeError("You must call .set_text() before .get_image()"); } char FT2Font::attach_file__doc__ [] = This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |