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

ProcessEvents hang

XMLWordPrintable

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

      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?

        1. eventsOverlapHang.zip
          42 kB
          Vitali Prudnikovich
        2. eventsOverlapHang2.zip
          42 kB
          Vitali Prudnikovich
        3. ProcessEvents.png
          854 kB
          Vitali Prudnikovich
        4. qcocoaeventdispatcher.patch
          1 kB
          Vitali Prudnikovich
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes