diff options
author | Christof Pintaske <cp@openoffice.org> | 2001-04-27 12:14:54 +0000 |
---|---|---|
committer | Christof Pintaske <cp@openoffice.org> | 2001-04-27 12:14:54 +0000 |
commit | 6cacaeaa9f4e858f9f4f05e1171d93c8f4faba8a (patch) | |
tree | 28f47b65d2432c0d26c78cadd50079c9daa06766 /vcl | |
parent | ce7a70b4c112471fc8ac816b6f0813c1d311112a (diff) |
#86042# allocate fontdata on heap since it is not deap-copied but referenced
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/source/gdi/salgdi3.cxx | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/vcl/unx/source/gdi/salgdi3.cxx b/vcl/unx/source/gdi/salgdi3.cxx index e531730a1b8f..4517197790a7 100644 --- a/vcl/unx/source/gdi/salgdi3.cxx +++ b/vcl/unx/source/gdi/salgdi3.cxx @@ -2,9 +2,9 @@ * * $RCSfile: salgdi3.cxx,v $ * - * $Revision: 1.53 $ + * $Revision: 1.54 $ * - * last change: $Author: pl $ $Date: 2001-04-25 16:05:36 $ + * last change: $Author: cp $ $Date: 2001-04-27 13:14:54 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -415,7 +415,7 @@ class FontFallback ::psp::fontID ImplFallbackFor () const ; ::psp::fontID mnId; - void* mpSysData; + ImplFontData maFallbackFontData; public: FontFallback (); @@ -439,9 +439,9 @@ FontFallback::equalItalic (psp::italic::type from, psp::italic::type to) } FontFallback::FontFallback () : - mnId (-1), - mpSysData (NULL) + mnId (-1) { + maFallbackFontData.mpSysData = NULL; // get static fontlist ::std::list< psp::fontID > aList; const psp::PrintFontManager& rMgr = psp::PrintFontManager::get(); @@ -468,28 +468,27 @@ FontFallback::FontFallback () : if (mnId != -1) { GlyphCache& rGC = GlyphCache::GetInstance(); - mpSysData = rGC.GetFontHandle (mnId); - if (mpSysData == NULL) + void* pSysData = rGC.GetFontHandle (mnId); + if( (maFallbackFontData.mpSysData = pSysData) == NULL) mnId = -1; } } + ServerFont* FontFallback::ImplFallbackFor (const ImplFontSelectData *pData) const { - if (mpSysData == NULL) + if (mnId == -1 ) return NULL; ImplFontSelectData aFaksimile; - ImplFontData aFaksimileData; aFaksimile.mnHeight = pData->mnHeight; aFaksimile.mnWidth = pData->mnWidth; aFaksimile.mnOrientation = pData->mnOrientation; aFaksimile.mbVertical = pData->mbVertical; aFaksimile.mbNonAntialiased = pData->mbNonAntialiased; - aFaksimile.mpFontData = &aFaksimileData; - aFaksimile.mpFontData->mpSysData = mpSysData; + aFaksimile.mpFontData = const_cast<ImplFontData*>(&maFallbackFontData); return GlyphCache::GetInstance().CacheFont (aFaksimile); } |