forked from qt-creator/qt-creator
QmlProfiler: Avoid memcpy for non-POD object
Replace with assignments/memcpy for members. Detected by GCC8. Change-Id: I9866ea0215cf5d43b55ed10d21e4efa371315365 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
committed by
Orgad Shaneh
parent
52e0b47c3f
commit
ef528e1801
@@ -68,8 +68,9 @@ struct QmlEvent : public Timeline::TraceEvent {
|
||||
}
|
||||
|
||||
QmlEvent(QmlEvent &&other)
|
||||
: TraceEvent(other), m_dataType(other.m_dataType), m_dataLength(other.m_dataLength)
|
||||
{
|
||||
memcpy(this, &other, sizeof(QmlEvent));
|
||||
memcpy(&m_data, &other.m_data, sizeof(m_data));
|
||||
other.m_dataType = Inline8Bit; // prevent dtor from deleting the pointer
|
||||
}
|
||||
|
||||
@@ -88,7 +89,10 @@ struct QmlEvent : public Timeline::TraceEvent {
|
||||
QmlEvent &operator=(QmlEvent &&other)
|
||||
{
|
||||
if (this != &other) {
|
||||
memcpy(this, &other, sizeof(QmlEvent));
|
||||
TraceEvent::operator=(other);
|
||||
m_dataType = other.m_dataType;
|
||||
m_dataLength = other.m_dataLength;
|
||||
memcpy(&m_data, &other.m_data, sizeof(m_data));
|
||||
other.m_dataType = Inline8Bit;
|
||||
}
|
||||
return *this;
|
||||
|
||||
Reference in New Issue
Block a user