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

QCocoaEventDispatcher may stay stuck after QEventLoop::exit() is called

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.6.3
    • 5.6.1
    • Core: Event loop
    • None
    • OS X
    • 9ab60b9c0db453fb598e42d91ce3217944afd9b6

    Description

      Since QCocoaEventDispatcher::processEvents() resets the interrupt state, this may prevent a higher level event loop from returning.

      For example, calling Menu::exec() and, as a result of an action being triggered, the application calls QCoreApplication::processEvents() after QMenu::hideEvent(). In this case, the menu event loop can be stuck until we run another event loop.

      See attached example. Click the button and wait until "Done looping" is printed (As things are, it won't until you exit the app).

      Attachments

        1. untitled8.zip
          3 kB
          Gabriel de Dietrich (drgvond)

        Issue Links

          For Gerrit Dashboard: QTBUG-53947
          # Subject Branch Project Status CR V

          Activity

            People

              dedietri Gabriel de Dietrich (drgvond)
              dedietri Gabriel de Dietrich (drgvond)
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes