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

QWidget with Qt::WA_TranslucentBackground and qgraphical effects is broken with drawable children items

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 6.2.4
    • None
    • Windows

      Found a problem during a project migration to 6.2.x and I successfully replicated the problem on a example case.

      The problem goes as follows:

      When I tried to create a widget with 

      Qt::Popup | Qt::NoDropShadowWindowHint | Qt::FramelessWindowHint as window flags and this attributeflag Qt::WA_TranslucentBackground, using QGraphicsDropShadowEffect on this widget as well, I could at first see the popup with the correct behaviour, but trying to use the popup a second time and it didn't show up. If I pass my mouse/or click above where the popup was supposted to appear the popup components would show themselves. If I pass the mouse several times the graphic effects seems to apply everytime. I recorded a video and I will upload the test case for a better demonstration.

      Also I received these messages during my test on the video:
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)
      UpdateLayeredWindowIndirect failed for ptDst=(960, 340), size=(111x238), dirty=(131x257 -10, -8) (O parâmetro está incorreto.)

      O parâmetro está incorreto = The parameter is incorrect. It is my system language to push out the message.

       

      I tested this exact same code on 5.12.10 and it worked fine.

        1. bug_translucid_with_effects.mp4
          1.54 MB
          Rui Teixeira
        2. translucentbackgroundbug.zip
          6 kB
          Rui Teixeira
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            ruiteixeira Rui Teixeira
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes