summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolland Dudemaine <rolland@ghs.com>2011-09-19 17:03:22 +0200
committerQt by Nokia <qt-info@nokia.com>2011-11-18 12:11:44 +0100
commit8fd2801a1f3d114694d94aa55b5b7920e1e6bded (patch)
tree4fb773637382cf9221ace02d5e4c8d3023217856
parentd645ff182b51977b3677c07d2ee789283b3de87f (diff)
Resolve a number of compilation issues with INTEGRITY
First, #ifdef'ed out getpwuid_r() and getpwgid_r() usage since users/groups support is not in in single-process Posix mode. Also, correct a typo and add missing files to io.pri. Update documentation to disable libtiff which won't compile until ibtiff itself is updated, and add back -no-exceptions in the sample command line. And add a line to compile host tools. Add a dummy QT_OPEN_LARGEFILE definition in qplatformdefs.h since there is code that requires it. Move definition of getGlyph() after the definition of qHash(GlyphAndSubPixelPosition). Merge-request: 2686 Reviewed-by: ossi (cherry picked from commit 8fe04a14b1f3688c9ce0933ebec0c28616595d93) Change-Id: I8fe04a14b1f3688c9ce0933ebec0c28616595d93 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rw-r--r--mkspecs/unsupported/integrity-ghs/qplatformdefs.h1
-rw-r--r--src/corelib/io/io.pri4
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp4
-rw-r--r--src/gui/text/qfontengine_ft_p.h15
4 files changed, 17 insertions, 7 deletions
diff --git a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
index 919d2cf606..589b3bf352 100644
--- a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
+++ b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
@@ -89,6 +89,7 @@
#define QT_TRUNCATE ::truncate
#define QT_FTRUNCATE ::ftruncate
#define QT_LSEEK ::lseek
+#define QT_OPEN_LARGEFILE 0
#endif
#ifdef QT_LARGEFILE_SUPPORT
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri
index 6d7a59d1b3..4fa5ed035e 100644
--- a/src/corelib/io/io.pri
+++ b/src/corelib/io/io.pri
@@ -126,5 +126,7 @@ win32 {
}
integrity {
SOURCES += io/qfsfileengine_unix.cpp \
- io/qfsfileengine_iterator_unix.cpp
+ io/qfsfileengine_iterator.cpp \
+ io/qfilesystemengine_unix.cpp \
+ io/qfilesystemiterator_unix.cpp
}
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index acc8c2c8cf..9778b526ac 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -259,12 +259,14 @@ QString QFileSystemEngine::resolveUserName(uint userId)
#endif
struct passwd *pw = 0;
+#if !defined(Q_OS_INTEGRITY)
#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
struct passwd entry;
getpwuid_r(userId, &entry, buf.data(), buf.size(), &pw);
#else
pw = getpwuid(userId);
#endif
+#endif
if (pw)
return QFile::decodeName(QByteArray(pw->pw_name));
return QString();
@@ -281,6 +283,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
#endif
struct group *gr = 0;
+#if !defined(Q_OS_INTEGRITY)
#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
if (size_max == -1)
@@ -300,6 +303,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
#else
gr = getgrgid(groupId);
#endif
+#endif
if (gr)
return QFile::decodeName(QByteArray(gr->gr_name));
return QString();
diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h
index fd0be4f1c8..edc2457687 100644
--- a/src/gui/text/qfontengine_ft_p.h
+++ b/src/gui/text/qfontengine_ft_p.h
@@ -196,12 +196,7 @@ public:
inline bool useFastGlyphData(glyph_t index, QFixed subPixelPosition) const {
return (index < 256 && subPixelPosition == 0);
}
- inline Glyph *getGlyph(glyph_t index, QFixed subPixelPosition = 0) const
- {
- if (useFastGlyphData(index, subPixelPosition))
- return fast_glyph_data[index];
- return glyph_data.value(GlyphAndSubPixelPosition(index, subPixelPosition));
- }
+ inline Glyph *getGlyph(glyph_t index, QFixed subPixelPosition = 0) const;
void setGlyph(glyph_t index, QFixed spp, Glyph *glyph);
private:
@@ -360,6 +355,14 @@ inline uint qHash(const QFontEngineFT::GlyphAndSubPixelPosition &g)
return (g.glyph << 8) | (g.subPixelPosition * 10).round().toInt();
}
+inline QFontEngineFT::Glyph *QFontEngineFT::QGlyphSet::getGlyph(glyph_t index, QFixed subPixelPosition) const
+{
+ if (useFastGlyphData(index, subPixelPosition))
+ return fast_glyph_data[index];
+ return glyph_data.value(GlyphAndSubPixelPosition(index, subPixelPosition));
+}
+
+
QT_END_NAMESPACE
#endif // QT_NO_FREETYPE