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

Details

    • All
    • 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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: