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

Socket events no longer processed while native file dialogs are shown

    XMLWordPrintable

Details

    • Change-Id: Icbdd96b2e80c50b73505f4fe74957575b83d6cf1

    Description

      A Qt 5.5.1 program apparently no longer processes socket events while a native file dialog is open. This used to work with Qt 5.5.0. Standard events like paint events or timer events still fire, but socket event processing only resumes after closing the native file dialog.

      The attached program illustrates the issue. It sets up

      1. A TCP server which listens on localhost:4711 and prints any received data
      2. A TCP client which connects to localhost:4711 and writes a 'ping!' message every second.
      3. A QPushButton which, when pressed, opens a native file dialog.

      After starting the program, two debug messages are printed every second - one indicating that the timer event fired, and the other confirming that a 'ping!' message was received.

      With Qt 5.5.0, this behaviour is consistent and persists no matter whether a native file dialog is opened or not.

      With Qt 5.5.1, the observed behaviour is that as soon as the QPushButton is clicked (and thus the native file dialog is shown), the timer message continues being printed every second but the 'ping!' message indicating that socket message arrived is no longer shown. Once the native dialog is closed, the buffered socket messages are shown all at once.

      Attachments

        1. main.cpp
          1 kB
        2. qtbug49782.zip
          1 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            frerich Frerich Raabe
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes