Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.14.0, 5.15.2
-
-
d196801706821a890bda8b22508c2957a50eff25 (qt/qtwebsockets/dev) b333a1f317527a45f8aa15f72b3896a0fc0b000a (qt/qtwebsockets/6.2) 30b0376f2b20013b6e687979f0be53791a48b3f0 (qt/tqtc-qtwebsockets/5.15)
Description
[REG: 5.13.2-5.14.0] When interacting with a webpage that will trigger a signal via QWebChannel then if the slot is still running it can cause it to resend the same message rather than a new one. This happens if you have a button that fires a signal and you click it more than once while the first iteration is still being handled. In Qt 5.13.2 it would not resend the message and instead send a new one as expected, but in Qt 5.14.0 and later it resends the previous one instead.
With the example, you can see the difference in the output, as you should only see:
Cpp.slot(): Enter, msgIndex= 2 Cpp.slot(): Exit, msgIndex= 2
for unique indexes no matter how many times you press the button.
Doing a bisect of QtWebChannel did not indicate a specific change that caused this so the problem might have been triggered from elsewhere.
Attachments
Issue Links
- mentioned in
-
Page Loading...
For Gerrit Dashboard: QTBUG-87279 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
355741,2 | Clear frame before emitting signals to prevent duplicating messages | dev | qt/qtwebsockets | Status: MERGED | +2 | 0 |
356791,2 | Clear frame before emitting signals to prevent duplicating messages | 6.2 | qt/qtwebsockets | Status: MERGED | +2 | 0 |
356813,1 | Clear frame before emitting signals to prevent duplicating messages | dev | qt/qtwebsockets | Status: ABANDONED | 0 | 0 |
356836,1 | Clear frame before emitting signals to prevent duplicating messages | tqtc/lts-5.15 | qt/tqtc-qtwebsockets | Status: ABANDONED | 0 | 0 |
357086,2 | Clear frame before emitting signals to prevent duplicating messages | tqtc/lts-5.15 | qt/tqtc-qtwebsockets | Status: MERGED | +2 | 0 |