Revision: 8405
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8405&view=rev
Author:   mdboom
Date:     2010-06-10 13:48:31 +0000 (Thu, 10 Jun 2010)

Log Message:
-----------
[3011582] stix_fonts_demo.py assert error

When matplotlib is compiled without -DNDEBUG, we get this error on one of the 
example:

$ python stix_fonts_demo.py
python2.6: CXX/cxx_extensions.cxx:1320: virtual 
Py::PythonExtensionBase::~PythonExtensionBase(): Assertion `ob_refcnt == 0' 
failed.
Aborted

Modified Paths:
--------------
    trunk/matplotlib/src/ft2font.cpp

Modified: trunk/matplotlib/src/ft2font.cpp
===================================================================
--- trunk/matplotlib/src/ft2font.cpp    2010-06-10 01:59:13 UTC (rev 8404)
+++ trunk/matplotlib/src/ft2font.cpp    2010-06-10 13:48:31 UTC (rev 8405)
@@ -686,25 +686,28 @@
 
   int error = FT_New_Face( _ft2Library, facefile.c_str(), 0, &face );
 
-
   if (error == FT_Err_Unknown_File_Format ) {
     std::ostringstream s;
     s << "Could not load facefile " << facefile << "; Unknown_File_Format" << 
std::endl;
+    ob_refcnt--;
     throw Py::RuntimeError(s.str());
   }
   else if (error == FT_Err_Cannot_Open_Resource) {
     std::ostringstream s;
     s << "Could not open facefile " << facefile << "; Cannot_Open_Resource" << 
std::endl;
+    ob_refcnt--;
     throw Py::RuntimeError(s.str());
   }
   else if (error == FT_Err_Invalid_File_Format) {
     std::ostringstream s;
     s << "Could not open facefile " << facefile << "; Invalid_File_Format" << 
std::endl;
+    ob_refcnt--;
     throw Py::RuntimeError(s.str());
   }
   else if (error) {
     std::ostringstream s;
     s << "Could not open facefile " << facefile << "; freetype error code " << 
error<< std::endl;
+    ob_refcnt--;
     throw Py::RuntimeError(s.str());
   }
 
@@ -720,6 +723,7 @@
   if (error) {
     std::ostringstream s;
     s << "Could not set the fontsize for facefile  " << facefile << std::endl;
+    ob_refcnt--;
     throw Py::RuntimeError(s.str());
   }
 
@@ -739,7 +743,6 @@
    if ( style_name == NULL )
      style_name = "UNAVAILABLE";
 
-
   setattr("postscript_name", Py::String(ps_name));
   setattr("num_faces",       Py::Int(face->num_faces));
   setattr("family_name",     Py::String(family_name));


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to