<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/115857/">https://git.reviewboard.kde.org/r/115857/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On February 18th, 2014, 6:37 a.m. UTC, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm sorry, but you are fixing symptoms and not the problem. Calling the repaint is correct, otherwise we might end with artefacts. The problem must be that another effect is still holding a reference to the window and thus it's being shown again. Try disabling the fade effect or any other closing animation effect you might be using.</pre>
</blockquote>
<p>On February 18th, 2014, 8:48 a.m. UTC, <b>Thomas Lübking</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Depending on the flicker it could also be cached blurring (bug #307112)
Otherwise in the long run https://git.reviewboard.kde.org/r/111622/ and turning this into an AnimationEffect might be a viable path.
(Keeping the transformation as long as the window is kept around would be the proper solution here as well - "proper syncing" etc. imo does not work in th light of randomly scripted effects)</pre>
</blockquote>
<p>On February 18th, 2014, 10:15 a.m. UTC, <b>Marco Martin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">when i did some experiments with it back at the sprint, i did see that the fade effect didn't notice that the window is already managed,
effect.isGrabbed(w, Effect.WindowClosedGrabRole) returns false
see https://bugs.kde.org/show_bug.cgi?id=329991</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Or not yet set - first comes, first serves. KWin::ScriptedEffect might be just up in the effect list.
You could try occupying WindowClosedGrabRole in SlidingPopupsEffect::slotWindowAdded() but i frankly doubt that this exclusion concept works in a "bring your own effect" scenario in general at all (What if two effects think they're responsible for handling it?)
Either effects operate multiplicative or we'll need a "char wannaHandle(EffectWindow, QEvent)" pass returning eg. 'm'aybe 'n'o or 'd'esperately so that the actual event emit will tell the effect whether some other effect desperately wants the windowevent (and so maybe effects can stay away) - what does still not solve the case of two desperates, so multiplicative operation is mandatory again.</pre>
<br />
<p>- Thomas</p>
<br />
<p>On February 18th, 2014, 12:52 a.m. UTC, Sebastian Kügler wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kwin and Plasma.</div>
<div>By Sebastian Kügler.</div>
<p style="color: grey;"><i>Updated Feb. 18, 2014, 12:52 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Fix flickering of sliding popups while disappearing
The last frame was fully painted for Plasma 2 panel popups, as it's
repainted in full on the last frame (without opacity and position
transformations applied).
Removing the repaint on this last frame makes the popups disappear
smoothly for me, without other side-effects such as artifacts on the
screen or other repaint problems.
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ran kwin with this on Intel driver, flickering is gone in Plasma 2 and Yakuake 4.x.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kwin/effects/slidingpopups/slidingpopups.cpp <span style="color: grey">(fd697f0c62e9099d4be71e1f9d99e64ecb5ff663)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/115857/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>