summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-04-08 21:24:25 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-04-08 21:24:26 +0200
commit4973786f0d36fc379c7e88a20c51639e93ddea2a (patch)
treed4d0e3cc8adc4be3aeef13bffb6907154daf95fd /src/plugins
parent0b17d2328592c03503c41af7d594e58233255ff5 (diff)
parent00540a8345c35703aeaab072fd9e4727c9b61d5a (diff)
Merge remote-tracking branch 'origin/5.5' into dev
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowsfontdatabase.cpp18
-rw-r--r--src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp10
-rw-r--r--src/plugins/printsupport/windows/qwindowsprintdevice.cpp6
3 files changed, 17 insertions, 17 deletions
diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
index d5708e4f9c..b979dc6c4e 100644
--- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp
@@ -303,8 +303,7 @@ namespace {
, m_referenceCount(0)
{
}
-
- ~DirectWriteFontFileStream()
+ virtual ~DirectWriteFontFileStream()
{
}
@@ -355,7 +354,7 @@ namespace {
OUT void **fragmentContext)
{
*fragmentContext = NULL;
- if (fragmentSize + fileOffset <= m_fontData.size()) {
+ if (fileOffset + fragmentSize <= quint64(m_fontData.size())) {
*fragmentStart = m_fontData.data() + fileOffset;
return S_OK;
} else {
@@ -384,8 +383,7 @@ namespace {
{
public:
DirectWriteFontFileLoader() : m_referenceCount(0) {}
-
- ~DirectWriteFontFileLoader()
+ virtual ~DirectWriteFontFileLoader()
{
}
@@ -1104,18 +1102,14 @@ QFontEngine *QWindowsFontDatabase::fontEngine(const QByteArray &fontData, qreal
GUID guid;
CoCreateGuid(&guid);
-#ifdef Q_CC_GNU
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_GCC("-Wstrict-aliasing")
QString uniqueFamilyName = QLatin1Char('f')
+ QString::number(guid.Data1, 36) + QLatin1Char('-')
+ QString::number(guid.Data2, 36) + QLatin1Char('-')
+ QString::number(guid.Data3, 36) + QLatin1Char('-')
+ QString::number(*reinterpret_cast<quint64 *>(guid.Data4), 36);
-#ifdef Q_CC_GNU
-# pragma GCC diagnostic pop
-#endif
+QT_WARNING_POP
QString actualFontName = font.changeFamilyName(uniqueFamilyName);
if (actualFontName.isEmpty()) {
diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
index 85cd92b234..75449e22ed 100644
--- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
+++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp
@@ -33,6 +33,10 @@
#ifndef QT_NO_DIRECTWRITE
+#if WINVER < 0x0600
+# undef WINVER
+# define WINVER 0x0600
+#endif
#if _WIN32_WINNT < 0x0600
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0600
@@ -61,10 +65,14 @@ namespace {
class GeometrySink: public IDWriteGeometrySink
{
public:
- GeometrySink(QPainterPath *path) : m_path(path), m_refCount(0)
+ GeometrySink(QPainterPath *path)
+ : m_refCount(0), m_path(path)
{
Q_ASSERT(m_path != 0);
}
+ virtual ~GeometrySink()
+ {
+ }
IFACEMETHOD_(void, AddBeziers)(const D2D1_BEZIER_SEGMENT *beziers, UINT bezierCount);
IFACEMETHOD_(void, AddLines)(const D2D1_POINT_2F *points, UINT pointCount);
diff --git a/src/plugins/printsupport/windows/qwindowsprintdevice.cpp b/src/plugins/printsupport/windows/qwindowsprintdevice.cpp
index b594fe9b34..af8e07edd2 100644
--- a/src/plugins/printsupport/windows/qwindowsprintdevice.cpp
+++ b/src/plugins/printsupport/windows/qwindowsprintdevice.cpp
@@ -39,14 +39,12 @@
# define DC_COLLATE 22
#endif
-#if defined (Q_CC_MINGW)
-# pragma GCC diagnostic ignored "-Wsign-compare"
-#endif
-
QT_BEGIN_NAMESPACE
#ifndef QT_NO_PRINTER
+QT_WARNING_DISABLE_GCC("-Wsign-compare")
+
extern qreal qt_pointMultiplier(QPageLayout::Unit unit);
static inline uint qwcsnlen(const wchar_t *str, uint maxlen)