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

GTK native dialogs hang with idle (zero) timer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.7.2
    • GUI: Other
    • None
    • Fedora 40
    • Linux/X11

    Description

      We need to do idle processing, and the documented way to do so is with a QTimer set to 0 milliseconds. Which seems to work peachy, until we try to open a file dialog.

      At that point, the main window goes gray (indicating a transient child window has been created), but nothing more. Pressing escape seems to abort things, and things get responsive again.

      Digging around, I can find that this happens when it tries to open GTK's file dialog. It runs `gtk_dialog_run()`, which starts a nested main loop. This keeps firing our idle worker, but seems to be blocking something else that is critical.

      Issue does not happen if we force Qt to use its own file dialog.

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            cendossm Pierre Ossman (Cendio AB)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes