Bug 320892 - Slide effect sometimes leaves glitch on the screen
Summary: Slide effect sometimes leaves glitch on the screen
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: effects-various (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/126...
Keywords:
: 343455 345110 355333 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-06-08 12:29 UTC by Ralf Jung
Modified: 2016-01-15 00:39 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.6
thomas.luebking: ReviewRequest+


Attachments
A screenshot, with the glitch highlighted (380.64 KB, image/png)
2013-06-08 12:31 UTC, Ralf Jung
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Jung 2013-06-08 12:29:53 UTC
When a popup is sliding back down to the Plasma taskbar, it sometimes leaves a glitch on the screen, a part of its shadow. That glitch only goes away when kwin re-draws this area for another reason. I will attach a screenshot for clarity.
I found taht one way to reproduce this with the K-menu is to close it by not clicking the K-button, but clicking somewhere else on the plasma desktop. I also saw this glitch with the calendar that appears when clicking the clock, but I cannot reproduce it there.

Reproducible: Always

Steps to Reproduce:
1. Minimise or close all windows.
2. Open the K-Menu.
3. Click the Plasma desktop to close the K-Menu.
Actual Results:  
A glitch (parts of the shadow of the menu) is left behind on the desktop.

Expected Results:  
There should be no such glitch.

This happens both with KDE 4.10 and with current KWin master. For the latter however, only the 'e' swap strategy is affected, not the 'p' one. I conclude that the slide effect does not always sets its damage region properly.
Comment 1 Ralf Jung 2013-06-08 12:31:20 UTC
Created attachment 80392 [details]
A screenshot, with the glitch highlighted

(and my awsome drawing skills revealed...)
Comment 2 Thomas Lübking 2013-06-08 15:02:24 UTC
Could also be due to the moment when plasma withdraws the shadow.

a) plasma-desktop from git master?
b) blur related?
c) for a cross-test: https://sourceforge.net/projects/bekwinfx/ - the animation component (generic animations) has a SP feature on top of AnimationEffect
Comment 3 Ralf Jung 2013-06-08 16:03:41 UTC
(In reply to comment #2)
> a) plasma-desktop from git master?
Yes, it's all master, with kdelibs, kde-runtime and kde-network updated today or yesterday.

> b) blur related?
It happens both with blur enabled and disabled.

> c) for a cross-test: https://sourceforge.net/projects/bekwinfx/ - the
> animation component (generic animations) has a SP feature on top of
> AnimationEffect
What's SP? Not sure what you want me to test here.
Comment 4 Ralf Jung 2013-06-08 16:04:18 UTC
(In reply to comment #3)
> Yes, it's all master, with kdelibs, kde-runtime and kde-network updated
> today or yesterday.
This must be kde-workspace of course, sorry.
Comment 5 Thomas Lübking 2013-06-08 17:01:20 UTC
(In reply to comment #3)
> > c) for a cross-test: https://sourceforge.net/projects/bekwinfx/ - the
> > animation component (generic animations) has a SP feature on top of
> > AnimationEffect
> What's SP? Not sure what you want me to test here.
"Sliding Popups" - the glitchy effect.
In the generic animation plugin just check "animate plasma popups"
Comment 6 Ralf Jung 2013-06-09 11:05:12 UTC
With BE::Animated, this glitch does not seem to happen - or maybe it's just way less likely, but I didn't see it when I tried around 10 to twenty times, while it happens almost always with the "original" effect. However, the menu disappears for about one or two frames before appearing again to slide down animated.
Comment 7 Ralf Jung 2013-07-12 11:36:25 UTC
I just reproduced this issue on my other machine, with current kde-master and the proprietary NVidia drivers (version 319.17). So its not HW/vendor-dependent.
Comment 8 Thomas Lübking 2015-03-14 09:45:04 UTC
*** Bug 345110 has been marked as a duplicate of this bug. ***
Comment 9 Thomas Lübking 2015-05-15 14:14:33 UTC
*** Bug 343455 has been marked as a duplicate of this bug. ***
Comment 10 Thomas Lübking 2015-11-14 12:35:10 UTC
*** Bug 355333 has been marked as a duplicate of this bug. ***
Comment 11 Thomas Lübking 2015-11-14 12:39:35 UTC
Can somebody check this:

diff --git a/effects/slidingpopups/slidingpopups.cpp b/effects/slidingpopups/slidingpopups.cpp
index 63fd67f..3c22214 100644
--- a/effects/slidingpopups/slidingpopups.cpp
+++ b/effects/slidingpopups/slidingpopups.cpp
@@ -320,7 +320,7 @@ void SlidingPopupsEffect::slotWindowDeleted(EffectWindow* w)
     delete mAppearingWindows.take(w);
     delete mDisappearingWindows.take(w);
     mWindowsData.remove(w);
-    effects->addRepaint(w->geometry());
+    effects->addRepaint(w->expandedGeometry());
 }
 
 void SlidingPopupsEffect::slotPropertyNotify(EffectWindow* w, long a)


--
(it would be better ported to an AnimationEffect ....)
Comment 12 Thomas Lübking 2016-01-14 23:18:36 UTC
Git commit 57c9aa9fc03d8af1afd63b43c136894cdef621d2 by Thomas Lübking.
Committed on 14/01/2016 at 22:37.
Pushed by luebking into branch 'master'.

update expanded geometry when slide is done

In addition it's required to keep the expandedGeometry alive until
the effects handled the deletion
Related: bug 318322, bug 344359
REVIEW: 126323

FIXED-IN: 5.6

M  +1    -1    effects/slidingpopups/slidingpopups.cpp

http://commits.kde.org/kwin/57c9aa9fc03d8af1afd63b43c136894cdef621d2
Comment 13 Thomas Lübking 2016-01-15 00:39:32 UTC
Git commit 87795eef2a71d85680f797fe75404ca1a9a63a10 by Thomas Lübking.
Committed on 15/01/2016 at 00:37.
Pushed by luebking into branch 'master'.

Actually keep the expandedGeometry alive

... until the effects handled the deletion
Related: bug 318322, bug 344359
REVIEW: 126323

FIXED-IN: 5.6

M  +1    -1    composite.cpp

http://commits.kde.org/kwin/87795eef2a71d85680f797fe75404ca1a9a63a10