QSignalSpy: make verify() methods static
... because they can be. We call them without a value object and while they don't touch *this, ubsan complained (rightfully): qsignalspy.h:29:28: runtime error: member call on address 0x7ffdfaab2b20 which does not point to an object of type 'QSignalSpy' 0x7ffdfaab2b20: note: object has invalid vptr 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 00 00 c0 60 00 00 60 14 00 00 60 60 00 00 70 14 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ invalid vptr Amends e68edd6a07adf33db14c2d2f6e4e3785596fa496. Task-number: QTBUG-123544 Change-Id: I8e9ba3270a35777a704e68130d2f2bccb658a536 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
This commit is contained in:
parent
3afcfbc400
commit
d2436f7294
@ -29,7 +29,7 @@ public:
|
||||
: QSignalSpy(verify(obj, aSignal)) {}
|
||||
|
||||
private:
|
||||
ObjectSignal verify(const QObject *obj, const char *aSignal)
|
||||
static ObjectSignal verify(const QObject *obj, const char *aSignal)
|
||||
{
|
||||
if (!isObjectValid(obj))
|
||||
return {};
|
||||
@ -69,7 +69,7 @@ public:
|
||||
: QSignalSpy(verify(obj, signal)) {}
|
||||
|
||||
private:
|
||||
ObjectSignal verify(const QObject *obj, QMetaMethod signal)
|
||||
static ObjectSignal verify(const QObject *obj, QMetaMethod signal)
|
||||
{
|
||||
if (isObjectValid(obj) && isSignalMetaMethodValid(signal))
|
||||
return {obj, signal};
|
||||
|
Loading…
x
Reference in New Issue
Block a user