diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-03-31 16:02:19 +0200 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-04-08 10:50:59 +0200 |
commit | d08f8c2109456ae236eedc359fab4561fb613c6a (patch) | |
tree | 142ced7940920fed805675d3f5c176c41935e86a /tests/manual | |
parent | 6c24c439ec19add0869d1fc10d2213de90683dd5 (diff) |
QV4QObjectWrapper: Store the whole signal
90be89d771425044a84e9e79e4e668e065acc825 changed the connection logic to
actually pass the receiver to connect in order to fix disconnect
cleanup. However, we omitted to change QObjectSlotDispatcher::impl
accordingly. The previous logic was:
- store the index of the signal in signalIndex
- In impl, in the call case, we would get passed the emitting object
(sic!) as the receiver parameter. Then we would use the object and the
signal index to obtain the QMetaMethod.
- From the QMetaMethod, we could get the signal's number of parameters.
After the aforementioned change, that does not work anymore: The
receiver is now the actual receiver of the signal, thus we get the wrong
method, and potentially the wrong number of parameters.
To fix this, we now store the complete QMetaMethod of the signal.
Change-Id: I868c51edf24a61d14eaf958ed7942da27f54a5c3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit e7e4eba6875c0f375c4fd03af9b3ed9ea44d0ba1)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests/manual')
0 files changed, 0 insertions, 0 deletions