summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontengine_s60.cpp
diff options
context:
space:
mode:
authormread <qt-info@nokia.com>2009-08-26 14:28:06 (GMT)
committermread <qt-info@nokia.com>2009-08-28 08:57:38 (GMT)
commit719d5ac4220744d17344ff07ffaa9e86c01ac412 (patch)
tree30dc926cf6b2df8a09ca8ab4e8c4f1aa36b4a34a /src/gui/text/qfontengine_s60.cpp
parent625dbf4edd3a1057e525c68c319e4525741ceaaa (diff)
downloadQt-719d5ac4220744d17344ff07ffaa9e86c01ac412.zip
Qt-719d5ac4220744d17344ff07ffaa9e86c01ac412.tar.gz
Qt-719d5ac4220744d17344ff07ffaa9e86c01ac412.tar.bz2
Deleting the CFontStore without a crash
CFontStore deletion crashes if there are any open fonts in it. These are now all deleted before the store is deleted. Reviewed-by: aportale
Diffstat (limited to 'src/gui/text/qfontengine_s60.cpp')
-rw-r--r--src/gui/text/qfontengine_s60.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index eba21e8..ed6b1c1 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -54,10 +54,11 @@
QT_BEGIN_NAMESPACE
-QFontEngineS60Extensions::QFontEngineS60Extensions(COpenFont *font)
+QFontEngineS60Extensions::QFontEngineS60Extensions(CFont* fontOwner, COpenFont *font)
: m_font(font)
, m_cmap(0)
, m_symbolCMap(false)
+ , m_fontOwner(fontOwner)
{
TAny *shapingExtension = NULL;
m_font->ExtendedInterface(KUidOpenFontShapingExtension, shapingExtension);
@@ -109,6 +110,12 @@ QPainterPath QFontEngineS60Extensions::glyphOutline(glyph_t glyph) const
return result;
}
+CFont *QFontEngineS60Extensions::fontOwner() const
+{
+ return m_fontOwner;
+}
+
+
// duplicated from qfontengine_xyz.cpp
static inline unsigned int getChar(const QChar *str, int &i, const int len)
{