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

Wrong use of timerId after killTimer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • 5.0.0
    • 4.8.x
    • WebKit
    • 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

        1. qtwebkit-4.8-timer.patch
          0.8 kB
          Dmitry Kasyanov
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            annulen Konstantin Tokarev
            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