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. eventsOverlapHang.zip
          42 kB
        2. eventsOverlapHang2.zip
          42 kB
        3. ProcessEvents.png
          ProcessEvents.png
          854 kB
        4. qcocoaeventdispatcher.patch
          1 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