fontforge/fontforge — pull request #93 by dmeranda (2012-09-11 07:40:15+00:00)
Title: Python cleanups of object references, mainly around font.close() and other crashes

This set of changes to the python extension is primarily concerned with eliminating a large category of crashes due to poor object reference logic and pointer management. These crashes mostly revolve around the use of python objects after a font has been closed, or incorrect object linkages during font opening/creating.

Whenever a python operation is performed that would reference a closed font, a python RuntimeError is now raised rather than crashing.

Some other changes were made too, such as:
* improving the repr() of many of the python objects so they are more descriptive,
* insuring most python objects consistently provide a 'font' property for getting to the font that "owns" the object, and where applicable also a 'glyph' property,
* make the python font save() function do many of the same post-save operations that the GUI does,
* make sure that all newly created fonts are actually listed in the fontforge.fonts() sequence,
* correcting wrong pointer types and confusing/unnecessary type casts in the C code,