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

Wrong use of timerId after killTimer

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Done
    • Affects Version/s: 4.8.x
    • Fix Version/s: 5.0.0
    • Component/s: WebKit
    • Labels:
      None

      Description

      In application with heavy use of webkit after an hour one of the user single shot timer never be called. Without WebKit this single shot timer works as it supposed. Investigation of problem lead me exactly to the ShadowBuffer::schedulePurge which is responsible for killing not already owned timer.

      ShadowBuffer::timerEvent does not clean up timerId after call killTimer. And next call to ShadowBuffer::schedulePurge can lead to killing wrong timer. In worst case, any QTimer can acquire the same timerId and be killed suddenly by ShadowBuffer::schedulePurge.

      See attachment for the patch.

        Attachments

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

          Activity

            People

            Assignee:
            annulen Konstantin Tokarev
            Reporter:
            d.kasyanov Dmitry Kasyanov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes