Bug 425294

Summary: Lingering shadows of right-click menu
Product: [Plasma] kwin Reporter: Ahmad Samir <a.samirh78>
Component: compositingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: cfeck, nate, vlad.zahorodnii
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.20

Description Ahmad Samir 2020-08-13 12:20:39 UTC
If I disable the "fade popups" effect, then right click e.g. on the desktop or dolphin, the context menu is shown, now if I close the menu by clicking somewhere else, the menu disappears as expected, but its shadow lingers until the I move the mouse (by shadow I mean a transparent rectangle, the same size as the menu, with the shadows on the edges).

This is with an intel gfx card (but I think the same issue happened with an nvidia card with the proprietary driver).
Comment 1 Christoph Feck 2020-08-13 13:42:53 UTC
Issue reproduced with NVIDIA drivers.
Comment 3 Vlad Zahorodnii 2020-09-29 13:53:50 UTC
Git commit 12e59f9af8016d82ccaecfa181b3052bc2daf784 by Vlad Zahorodnii.
Committed on 29/09/2020 at 13:53.
Pushed by vladz into branch 'master'.

Schedule workspace repaint for destroyed clients

We need to schedule a workspace repaint in case no effect is going to
animate the window.

The workspace repaint is issued before creating a Deleted because the
latter takes the owner of the effect window, which means that after an
instance of Deleted has been created, visibleRect() returns the frame
geometry.

M  +1    -0    abstract_client.cpp
M  +1    -1    unmanaged.cpp

https://invent.kde.org/plasma/kwin/commit/12e59f9af8016d82ccaecfa181b3052bc2daf784
Comment 4 Vlad Zahorodnii 2020-09-29 13:53:52 UTC
Git commit ddb24eaf0a2a1cdf6c20284cac99813b827c2fe3 by Vlad Zahorodnii.
Committed on 29/09/2020 at 13:53.
Pushed by vladz into branch 'master'.

Fix ghost shadows left by context menus

If the shadow is destroyed immediately before the window is destroyed,
we need to schedule a workspace repaint in order to prevent showing a
"ghost" shadow.

M  +1    -0    toplevel.cpp

https://invent.kde.org/plasma/kwin/commit/ddb24eaf0a2a1cdf6c20284cac99813b827c2fe3
Comment 5 Vlad Zahorodnii 2020-09-29 13:54:40 UTC
Git commit e056406951b20dacd2f0b6e25bc264888f97d9d8 by Vlad Zahorodnii.
Committed on 29/09/2020 at 13:54.
Pushed by vladz into branch 'Plasma/5.20'.

Schedule workspace repaint for destroyed clients

We need to schedule a workspace repaint in case no effect is going to
animate the window.

The workspace repaint is issued before creating a Deleted because the
latter takes the owner of the effect window, which means that after an
instance of Deleted has been created, visibleRect() returns the frame
geometry.


(cherry picked from commit 12e59f9af8016d82ccaecfa181b3052bc2daf784)

M  +1    -0    abstract_client.cpp
M  +1    -1    unmanaged.cpp

https://invent.kde.org/plasma/kwin/commit/e056406951b20dacd2f0b6e25bc264888f97d9d8
Comment 6 Vlad Zahorodnii 2020-09-29 13:55:20 UTC
Git commit f53d90a9f916895ec53c7c35a71e4185b8ddae2f by Vlad Zahorodnii.
Committed on 29/09/2020 at 13:55.
Pushed by vladz into branch 'Plasma/5.20'.

Fix ghost shadows left by context menus

If the shadow is destroyed immediately before the window is destroyed,
we need to schedule a workspace repaint in order to prevent showing a
"ghost" shadow.


(cherry picked from commit ddb24eaf0a2a1cdf6c20284cac99813b827c2fe3)

M  +1    -0    toplevel.cpp

https://invent.kde.org/plasma/kwin/commit/f53d90a9f916895ec53c7c35a71e4185b8ddae2f