diff -up poppler-0.10.5/poppler/CairoFontEngine.cc.orig poppler-0.10.5/poppler/CairoFontEngine.cc --- poppler-0.10.5/poppler/CairoFontEngine.cc.orig 2009-04-08 11:49:38.596423808 +0100 +++ poppler-0.10.5/poppler/CairoFontEngine.cc 2009-04-08 11:54:30.567956525 +0100 @@ -148,7 +148,11 @@ _ft_done_face (void *closure) else _ft_open_faces = data->next; +#if defined(__SUNPRO_CC) && defined(__sun) && defined(__SVR4) + munmap ((char*)data->bytes, data->size); +#else munmap (data->bytes, data->size); +#endif close (data->fd); FT_Done_Face (data->face); @@ -190,7 +194,11 @@ _ft_new_face (FT_Library lib, for (l = _ft_open_faces; l; l = l->next) { if (_ft_face_data_equal (l, &tmpl)) { +#if defined(__SUNPRO_CC) && defined(__sun) && defined(__SVR4) + munmap ((char*)tmpl.bytes, tmpl.size); +#else munmap (tmpl.bytes, tmpl.size); +#endif close (tmpl.fd); *face_out = l->face; *font_face_out = cairo_font_face_reference (l->font_face); @@ -200,7 +208,12 @@ _ft_new_face (FT_Library lib, /* not a dup, open and insert into list */ if (FT_New_Face (lib, filename, 0, &tmpl.face)) { +#if defined(__SUNPRO_CC) && defined(__sun) && defined(__SVR4) + munmap ((char*)tmpl.bytes, tmpl.size); +#else munmap (tmpl.bytes, tmpl.size); +#endif + close (tmpl.fd); return gFalse; }