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

xcb: Native window does not get paint event if another window on top of it is hidden unless there is a enter/leave event somewhere

    XMLWordPrintable

Details

    • Linux/X11
    • 71c3aab7ba (qt/qtbase/dev) 71c3aab7ba (qt/tqtc-qtbase/dev) f4eb4c5f30 (qt/qtbase/6.4) f4eb4c5f30 (qt/tqtc-qtbase/6.4) bf4517f435 (qt/tqtc-qtbase/6.2) 9caae71cfb (qt/tqtc-qtbase/5.15)

    Description

      In attached example there is QFrame on top of a native window. When that frame is hidden, the native window does not seem to get paintEvent() call and thus the frame remains visible.

      However it gets repainted when ever mouse cursor leaves or enters the button that was used to toggle the visibility.

      To reproduce, run attached example and click on the toggle button. The black rectangle does not disappear until mouse is moved off of the QPushButton.

      There is also "QWidget::paintEngine: Should no longer be called" message printed and I don't know how to properly workaround this. This example is reduced from a bigger example which didn't output this message, but had exactly the same issue so it probably doesn't affect this at all.

      Attachments

        Issue Links

          Activity

            People

              liaqi Liang Qi
              poikelin Joni Poikelin
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: