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

Details

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

    Description

      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!

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes