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

applications with widgets with Qt::BypassGraphicsProxyWidget flag get stuck in an inner event loop

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.7.0
    • 4.6.1
    • Widgets: GraphicsView
    • None
    • opensuse 11.2, qt for X11 compiled from origin/4.6 branch, running KDE and kwin
    • ca6eaf461886142256dfa64a761fc650be2b006f

    Description

      if a widget with popups (like a QTextEdit) is embedded in a qgraphicsscene in a qgraphicsproxywidget and has the Qt::BypassGraphicsProxyWidget window flag set, the context menu as expected appears as a normal window with the same window flags as if the parent text edit wasn't embedded in the scene.

      however, if a new window (from another application) appears and tries to steal the focus from the main window one of two things can happen (doesn't seem really deterministic)
      a) the popup remains open and all the input in the x session will be indefinitely blocked until the application owning the proxy widget is killed via an external mean, like ssh
      b) the popup disappears, but the application is blocked (rest of the session works correctly)

      i think the application gets stuck in the internal QEventLoop of the popup, with no means to exit.

      the attached tiny example shows the problem.

      is not really easy to reproduce, since it works perfectly fine until another application pops up some window..

      It seems to happen often with Amarok2 running, at the song change, it pops up a little osd window, that usually triggers the problem

      Attachments

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

        Activity

          People

            menard Alexis Menard (closed Nokia identity) (Inactive)
            notmart Marco Martin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes