Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-87279

[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

XMLWordPrintable

    • All
    • d196801706821a890bda8b22508c2957a50eff25 (qt/qtwebsockets/dev) b333a1f317527a45f8aa15f72b3896a0fc0b000a (qt/qtwebsockets/6.2) 30b0376f2b20013b6e687979f0be53791a48b3f0 (qt/tqtc-qtwebsockets/5.15)

      [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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            oyheskes Øystein Heskestad
            andysh Andy Shaw
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: