QObjectPrivate: use placement new/delete for SignalVector
Just to be pedantically correct, but also makes the construction code slightly more readable. Pick-to: 6.2 6.3 Change-Id: I29f1c141c0f7436393d9fffd16e2bbf0f361c024 Reviewed-by: Marc Mutz <marc.mutz@qt.io>bb10
parent
bc6087fce2
commit
d1e9cab81c
|
|
@ -284,8 +284,10 @@ public:
|
|||
if (c)
|
||||
deleteOrphaned(c);
|
||||
SignalVector *v = signalVector.loadRelaxed();
|
||||
if (v)
|
||||
if (v) {
|
||||
v->~SignalVector();
|
||||
free(v);
|
||||
}
|
||||
}
|
||||
|
||||
// must be called on the senders connection data
|
||||
|
|
@ -316,7 +318,9 @@ public:
|
|||
if (vector && vector->allocated > size)
|
||||
return;
|
||||
size = (size + 7) & ~7;
|
||||
SignalVector *newVector = reinterpret_cast<SignalVector *>(malloc(sizeof(SignalVector) + (size + 1) * sizeof(ConnectionList)));
|
||||
void *ptr = malloc(sizeof(SignalVector) + (size + 1) * sizeof(ConnectionList));
|
||||
auto newVector = new (ptr) SignalVector;
|
||||
|
||||
int start = -1;
|
||||
if (vector) {
|
||||
// not (yet) existing trait:
|
||||
|
|
|
|||
Loading…
Reference in New Issue