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

Triggering a popup window causes the background color of the window not to be updated

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: P2: Important P2: Important
    • None
    • 6.7
    • QPA: Wayland
    • None
    • qtbase=6.7.2 , qt6-wayland = 6.7.2,KDE Plasma:6.1.3
    • Linux/Wayland

      As stated in the title, triggering the popup window causes the background color of my main window to not update, and judging from qwindowsysteminterface.cpp in qtbase, it triggers the leavenEvent event one less time compared to x11.

      I would like to ask if this is the wayland qt design or a bug? Thanks a lot for the answer!

       

      I tried to add a judgment to void QApplicationPrivate::openPopup(QWidget *popup) in the qt-qapplication.cpp function to manually trigger the leaveEvent event can be a wayland solution to this problem: when detecting the

          if (popup->parentWidget())

      {     QEvent leaveEvent(QEvent::Leave);     QApplication::sendEvent(popup->parentWidget(), &leaveEvent);     }

      But this solution I think is not good, because there are differences between x11 and wayland, if you exclude kwin, the problem should be in qwayland, I was going to send a leaveEvent to Qt in qtwayland, but I can't seem to find a suitable place for it!

        1. MouseEventTest.7z
          1000 kB
          Shilin Tian
        2. wayland.mp4
          315 kB
          Shilin Tian
        3. x11.mp4
          99 kB
          Shilin Tian
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qt.team.graphics.and.multimedia Qt Graphics Team
            tsl115 Shilin Tian
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes