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

QEventLoop::quit fails with nested calls to processEvents when using the unix event dispatcher

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 4.8.0
    • Core: Event loop
    • None
    • OSX 10.7.2

    Description

      When the unix event dispatcher is used, a call to QEventLoop::quit does not have the desired effect when immediately followed by some sort of nested call to processEvents, for example through a nested eventloop, QTest::wait, or similar. The reason appears to be that the second processEvents resets the interrupt flag previously set by quit(), since that is unconditionally done at the start of processEvents(), thereby aborting the quit. Testcase that reproduces this failure attached. This is a reduced test case from a failing (on OSX) unit test in KDE's kdelibs, which passes on linux, suggesting that the glib event loop is unaffected.

      Attachments

        Issue Links

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

          Activity

            People

              Unassigned Unassigned
              till.adam Till Adam
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes