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

Windows mobile: posted events don't get sent until user clicks main window

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 4.7.0
    • 4.6.2
    • Core: Event loop
    • None
    • 7ed3e0085331e911b231d26c58a4e09e0e7aeffb

    Description

      Results from QTBUG-8972.

      See the attached sample code. QCoreApplication::sendPostedEvents doesn't get called for the 2nd emitted signal.
      Because in the function qt_GetMessageHook in qeventdispatcher_win.cpp, the call to GetQueueStatus(QS_TIMER) almost always returns true.

      This is the case, because the implementation of Windows mobile menus seems to use WM_TIMER messages internally, which are seen by GetQueueStatus, but will never reach our application. Thus, we don't post the WM_QT_SENDPOSTEDEVENTS message. (Every Qt application on Win mobile has a default menu, even if its not visible.)

      When the user clicks into the window, we receive a mouse message and call qt_GetMessageHook again.

      Attachments

        1. eventproblem.cpp
          2 kB
        2. patch01.txt
          0.8 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jbornema Joerg Bornemann
            jbornema Joerg Bornemann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes