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