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

Refactor the Win32 event dispatcher

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 4.6.0
    • None
    • Core: Event loop
    • None
    • 0444453661df0f56fd034778028c7abdc0b621cc 4279889ebebb9fdd026fc107f60f825fb2ad565e e28e6772e79df9b2adf70e21969af8cac28dc9cf 4e22238ac86eb7ddb88b7dec73d419767da72323 31f1ff91028dd7f90925d5b3737e4d88b5fb07aa

    Description

      There are a couple of outstanding problems with the Win32 event dispatcher:

      1. SOLVED - the use of multimedia timers on WinXP is not thread-safe and can cause crashes (task 146591)
      2. SOLVED - these fast timers are implementing using postEvent(), which causes problems when the event loop is re-entered (task 134783). Specifically, the post event list grows indefinitely.
      3. Qt posted events are not sent while Windows spins a modal loop, e.g. when showing a native dialog or when the user moves or resizes the window (task 108764)
      4. zero-timers and/or constantly posting new events can starve other event sources (task 97086)

      The ideal would be an event dispatcher that uses a standard message pump, so that a minimum amount of code is needed to integrate Qt with other toolkits. At the moment, ActiveQt installs a hook to call QApplication::sendPostedEvents(0, -1) (the -1 is wrong, I have a task for that - SOLVED), and it would be nice to get rid of that. This would ease the development of the Visual Studio and Eclipse integrations.

      Attachments

        Issue Links

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

          Activity

            People

              bhughes Bradley T. Hughes (closed Nokia Identity) (Inactive)
              bhughes Bradley T. Hughes (closed Nokia Identity) (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes