Fix build with -directwrite
There were several issues caught by GCC: * deleting object of polymorphic class type which has non-virtual destructor might cause undefined behaviour * comparison between signed and unsigned integer expressions * 'GetUserDefaultLocaleName' was not declared in this scope (depends on WINVER >= 0x0600) Change-Id: I39f2cc0d5e158f4d85377edd55e9f74a512c7303 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
This commit is contained in:
parent
3a845e4b4f
commit
491b746473
@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user