summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@nokia.com>2009-09-11 08:18:12 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-09-17 02:38:58 (GMT)
commit3c2875e8b7f43dab60552465dce7c575797d4590 (patch)
tree0eb500cab755426e0b675d77df9e4b1c6c1f6365 /src
parentcaa0ae62922c84d521c6864f243610888e292694 (diff)
downloadQt-3c2875e8b7f43dab60552465dce7c575797d4590.zip
Qt-3c2875e8b7f43dab60552465dce7c575797d4590.tar.gz
Qt-3c2875e8b7f43dab60552465dce7c575797d4590.tar.bz2
Clean up properly in the QPF1 font engine
We have to munmap() what we have mmap()ed Reviewed-by: Gunnar Reviewed-by: Jeremy (cherry picked from commit 2ffcf454806d0167c36bb626f07c3cc969206709)
Diffstat (limited to 'src')
-rw-r--r--src/gui/text/qfontengine_qws.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/text/qfontengine_qws.cpp b/src/gui/text/qfontengine_qws.cpp
index a042a5a..8938050 100644
--- a/src/gui/text/qfontengine_qws.cpp
+++ b/src/gui/text/qfontengine_qws.cpp
@@ -380,6 +380,8 @@ class QFontEngineQPF1Data
public:
QPFFontMetrics fm;
QPFGlyphTree *tree;
+ void *mmapStart;
+ size_t mmapLength;
};
@@ -409,6 +411,8 @@ QFontEngineQPF1::QFontEngineQPF1(const QFontDef&, const QString &fn)
::close(f);
d = new QFontEngineQPF1Data;
+ d->mmapStart = data;
+ d->mmapLength = st.st_size;
memcpy(reinterpret_cast<char*>(&d->fm),data,sizeof(d->fm));
data += sizeof(d->fm);
@@ -430,6 +434,8 @@ QFontEngineQPF1::QFontEngineQPF1(const QFontDef&, const QString &fn)
QFontEngineQPF1::~QFontEngineQPF1()
{
+ if (d->mmapStart)
+ munmap(d->mmapStart, d->mmapLength);
delete d->tree;
delete d;
}