diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-01-20 19:31:57 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-01-20 19:31:57 +0000 |
| commit | 906f78949458732f138e4e2b79843c75e9d52f87 (patch) | |
| tree | 2643ad24eb96a1999f29c7eb606992b4ffcc93eb /src/libnrtype | |
| parent | Make Ctrl+Alt+click delete nodes. (diff) | |
| download | inkscape-906f78949458732f138e4e2b79843c75e9d52f87.tar.gz inkscape-906f78949458732f138e4e2b79843c75e9d52f87.zip | |
Go back to using TR1 unordered containers to fix warnings. Add configure
code to detect the broken header and display Wiki page URL.
(bzr r9006)
Diffstat (limited to 'src/libnrtype')
| -rw-r--r-- | src/libnrtype/FontFactory.cpp | 14 | ||||
| -rw-r--r-- | src/libnrtype/FontInstance.cpp | 8 | ||||
| -rw-r--r-- | src/libnrtype/font-instance.h | 4 |
3 files changed, 11 insertions, 15 deletions
diff --git a/src/libnrtype/FontFactory.cpp b/src/libnrtype/FontFactory.cpp index 761da7756..09d9e2c4f 100644 --- a/src/libnrtype/FontFactory.cpp +++ b/src/libnrtype/FontFactory.cpp @@ -26,11 +26,9 @@ /* Freetype2 */ # include <pango/pangoft2.h> -//#include <tr1/unordered_map> -#include <ext/hash_map> +#include <tr1/unordered_map> - -typedef __gnu_cxx::hash_map<PangoFontDescription*, font_instance*, font_descr_hash, font_descr_equal> FaceMapType; +typedef std::tr1::unordered_map<PangoFontDescription*, font_instance*, font_descr_hash, font_descr_equal> FaceMapType; // need to avoid using the size field size_t font_descr_hash::operator()( PangoFontDescription *const &x) const { @@ -826,9 +824,11 @@ font_instance *font_factory::Face(PangoFontDescription *descr, bool canFail) if ( nFace ) { // duplicate FcPattern, the hard way res = new font_instance(); - // store the descr of the font we asked for, since this is the key where we intend to put the font_instance at - // in the hash_map. the descr of the returned pangofont may differ from what was asked, so we don't know (at this - // point) whether loadedFaces[that_descr] is free or not (and overwriting an entry will bring deallocation problems) + // store the descr of the font we asked for, since this is the key where we intend + // to put the font_instance at in the unordered_map. the descr of the returned + // pangofont may differ from what was asked, so we don't know (at this + // point) whether loadedFaces[that_descr] is free or not (and overwriting + // an entry will bring deallocation problems) res->descr = pango_font_description_copy(descr); res->daddy = this; res->InstallFace(nFace); diff --git a/src/libnrtype/FontInstance.cpp b/src/libnrtype/FontInstance.cpp index 8b8eb8bbe..628e3cba0 100644 --- a/src/libnrtype/FontInstance.cpp +++ b/src/libnrtype/FontInstance.cpp @@ -29,12 +29,9 @@ # include FT_TRUETYPE_TABLES_H # include <pango/pangoft2.h> -//#include <tr1/unordered_map> -#include <ext/hash_map> +#include <tr1/unordered_map> -// the various raster_font in use at a given time are held in a hash_map whose indices are the -// styles, hence the 2 following 'classes' struct font_style_hash : public std::unary_function<font_style, size_t> { size_t operator()(font_style const &x) const; }; @@ -43,8 +40,7 @@ struct font_style_equal : public std::binary_function<font_style, font_style, bo bool operator()(font_style const &a, font_style const &b) const; }; - -typedef __gnu_cxx::hash_map<font_style, raster_font*, font_style_hash, font_style_equal> StyleMap; +typedef std::tr1::unordered_map<font_style, raster_font*, font_style_hash, font_style_equal> StyleMap; diff --git a/src/libnrtype/font-instance.h b/src/libnrtype/font-instance.h index 521c9a424..d52bd723f 100644 --- a/src/libnrtype/font-instance.h +++ b/src/libnrtype/font-instance.h @@ -25,7 +25,7 @@ public: // depending on the rendering backend, different temporary data // that's the font's fingerprint; this particular PangoFontDescription gives the entry at which this font_instance - // resides in the font_factory loadedFaces hash_map + // resides in the font_factory loadedFaces unordered_map PangoFontDescription* descr; // refcount int refCount; @@ -86,7 +86,7 @@ private: void FreeTheFace(); // hashmap to get the raster_font for a given style - void* loadedPtr; // Pointer to a hash_map. Moved into .cpp to not expose use of __gnu_cxx extension. + void* loadedPtr; #ifdef USE_PANGO_WIN32 HFONT theFace; |
