https://bugs.kde.org/show_bug.cgi?id=494635

Vlad Zahorodnii <vlad.zahorod...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/plasma-workspace/-/commi
                   |                            |t/b9161eeb246f2e30197af1ded
                   |                            |659cda31cbc2172

--- Comment #6 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit b9161eeb246f2e30197af1ded659cda31cbc2172 by Vlad Zahorodnii.
Committed on 28/11/2024 at 11:26.
Pushed by vladz into branch 'master'.

applets/appmenu: Workaround global menu getting dismissed unexpectedly

Qt has a fallback code path to dismiss all popups when the application
loses keyboard focus. The issue is that QGuiApplication::focusWindow()
not always has reasonable values.

For example, after calling widget->hide(), the QGuiApplication will think
that the widget's window still has focus for a while. This can result in
popups getting unexpectedly dismissed:

- hover the File entry
- the corresponding File popup will be shown
- hover the Edit entry
- the File popup will be hidden
- the Edit popup will be shown
- at this point, QGuiApplication::focusWindow() still reports that the
  File popup window has the keyboard focus
- some time later, qtwayland will report a new focused window. It is
  racy, Qt can report either null or the Edit popup window.
- if it's null, the Edit popup will be hidden

M  +9    -0    applets/appmenu/lib/appmenuapplet.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/b9161eeb246f2e30197af1ded659cda31cbc2172

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to