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

ProcessEvents hang

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P2: Important
    • None
    • 5.6.0
    • QPA
    • None
    • Mac OS X
    • macOS

    Description

      I've encountered a hang inside QCocoaEventDispatcher::processEvents.
      What happens (quite difficult to explain to be honest):
      Check the attached screenshot. We are 2 times in QCocoaEventDispatcher::processEvents(). So my previous dialog just closed, endModalSession called, d->interrupt became true, no cleanup session yet. Then I go to 'second' processEvents which is called from QApplication::processEvents, no real dialog here (without exiting the loop in 'first' processEvents) and d->interrupt becomes false again. As a result the loop in 'first' processEvents becomes endless.

      It all looks exactly like QTBUG-45389 which is closed by some reason. I've attached the patch which helps me. Basically I just added cleanupModalSessions into the hanging loop. Could somebody review it and apply if possible?

      Attachments

        1. qcocoaeventdispatcher.patch
          1 kB
        2. ProcessEvents.png
          ProcessEvents.png
          854 kB
        3. eventsOverlapHang2.zip
          42 kB
        4. eventsOverlapHang.zip
          42 kB

        Issue Links

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

          Activity

            People

              dedietri Gabriel de Dietrich (drgvond)
              vitalipf Vitali Prudnikovich
              Votes:
              2 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes