summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-06-21 12:35:29 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-06-21 12:29:29 +0000
commit3f01dc199560e7d31f8941dc81e99a17d2e95cdf (patch)
tree3ae97c74ae3c5faf58f8d09624ac83a3fe51b248 /src
parent22e9ff9c164d9912fcbe7987f4d39e467b0a600f (diff)
QWindowsFontDatabase/QWindowsXPStyle: Fix compilation with g++ 8.1/MinGW
Silence warnings about copying/clearing memory types which g++ considers non-trivial, for example: windows\qwindowsfontdatabase.cpp:1003:75: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'class QChar' from an array of 'const ushort' {aka 'const short unsigned int'} [-Werror=class-memaccess] memcpy(faceNamePtr, faceName.utf16(), sizeof(wchar_t) * nameLength); qwindowsxpstyle.cpp:946:46: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct ThemeMapData'; use assignment or value-initialization instead [-Werror=class-memaccess] memset(&data, 0, sizeof(data)); ^ qwindowsxpstyle.cpp:1053:38: error: 'void* memset(void*, int, size_t)' clearing an object of non-trivial type 'struct ThemeMapData'; use assignment or value-initialization instead [-Werror=class-memaccess] memset(&data, 0, sizeof(data)); by introducing a cast. Task-number: QTBUG-68742 Task-number: QTQAINFRA-2095 Change-Id: I160eb5fc7b64a2bc404e1fa61d306af2662d1252 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp2
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
index aab1ab9889..8df8da1a38 100644
--- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
+++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp
@@ -1000,7 +1000,7 @@ static QChar *createFontFile(const QString &faceName)
if (!faceName.isEmpty()) {
const int nameLength = qMin(faceName.length(), LF_FACESIZE - 1);
faceNamePtr = new QChar[nameLength + 1];
- memcpy(faceNamePtr, faceName.utf16(), sizeof(wchar_t) * nameLength);
+ memcpy(static_cast<void *>(faceNamePtr), faceName.utf16(), sizeof(wchar_t) * nameLength);
faceNamePtr[nameLength] = 0;
}
return faceNamePtr;
diff --git a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
index 9d2e770191..36a8afb453 100644
--- a/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
+++ b/src/plugins/styles/windowsvista/qwindowsxpstyle.cpp
@@ -943,7 +943,7 @@ bool QWindowsXPStylePrivate::drawBackgroundThruNativeBuffer(XPThemeData &themeDa
if (!isCached) {
// SHORTCUT: If the part's state has no data, cache it for NOOP later
if (!stateHasData) {
- memset(&data, 0, sizeof(data));
+ memset(static_cast<void *>(&data), 0, sizeof(data));
data.dataValid = true;
alphaCache.insert(key, data);
return true;
@@ -1050,7 +1050,7 @@ bool QWindowsXPStylePrivate::drawBackgroundThruNativeBuffer(XPThemeData &themeDa
// Add to theme part cache
if (!isCached) {
- memset(&data, 0, sizeof(data));
+ memset(static_cast<void *>(&data), 0, sizeof(data));
data.dataValid = true;
data.partIsTransparent = partIsTransparent;
data.alphaType = alphaType;