Index: wftk/wftk/font_data.cpp =================================================================== --- wftk/wftk/font_data.cpp (revision 9) +++ wftk/wftk/font_data.cpp (revision 10) @@ -28,7 +28,7 @@ unsigned long wftk::FontData::lib_refcount_ = 0; wftk::FontData::FontData(const std::string& file, unsigned ptsize, - unsigned face_index) throw(wftk::Font::BadFont) : map_(*this) + unsigned face_index) throw(wftk::Font::BadFont) : map_(*this, false) { reflib(); Index: wftk/wftk/font.h =================================================================== --- wftk/wftk/font.h (revision 9) +++ wftk/wftk/font.h (revision 10) @@ -239,7 +239,8 @@ class MapType : public RefMap<Color, SurfaceTable> { public: - MapType(FontData& font) : font_(font) {} + MapType(FontData& font, bool autodelete = true) : + RefMap<Color, SurfaceTable>(autodelete), font_(font) {} private: // create the entries in the RefMap
The attached patch fixes the problem for me.