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

Vlad Zagorodniy <vladz...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Version Fixed In|                            |5.15.0
             Status|REPORTED                    |RESOLVED
      Latest Commit|                            |https://commits.kde.org/kwi
                   |                            |n/a281f2bce1d1e67925aa4261c
                   |                            |a3cdadffaeb57fc

--- Comment #25 from Vlad Zagorodniy <vladz...@gmail.com> ---
Git commit a281f2bce1d1e67925aa4261ca3cdadffaeb57fc by Vlad Zagorodniy.
Committed on 10/10/2018 at 15:34.
Pushed by vladz into branch 'master'.

[effects/dialogparent] Fix flickering of parent windows

Summary:
If a modal window is closed and some alternative effect that animates
the disappearing of windows is enabled(e.g. the Glide effect, or the
Scale effect), the Dialog Parent effect can cause flickering of the
parent window because its animation duration doesn't match duration of
those alternative effects.

Also, if the Fade effect, the Glide effect, and the Scale effect are
disabled, the Dialog Parent will keep the parent window alive for no
good reason.

This change addresses that problem by adding keepAlive property to
`animate` function so scripted effects have more control over lifetime
of animated windows.

If both a modal window and its parent window are closed at the same time
(and there is no effect that animates the disappearing of windows), the
Dialog Parent will stop immediately(because windowDeleted will be
emitted right after windowClosed signal).

If both a modal window and its parent window are closed at the same time
(and there is effect that animates the disappearing of windows), the
Dialog Parent won't reference the latter window. Thus, it won't cause
flickering. I.e. it will "passively" animate parent windows.
FIXED-IN: 5.15.0

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14919

M  +61   -1    autotests/integration/effects/scripted_effects_test.cpp
A  +13   -0    autotests/integration/effects/scripts/keepAliveTest.js
A  +13   -0    autotests/integration/effects/scripts/keepAliveTestDontKeep.js
M  +1    -0    effects/dialogparent/package/contents/code/main.js
M  +15   -1    libkwineffects/anidata.cpp
M  +21   -1    libkwineffects/anidata_p.h
M  +23   -22   libkwineffects/kwinanimationeffect.cpp
M  +6    -5    libkwineffects/kwinanimationeffect.h
M  +29   -7    scripting/scriptedeffect.cpp
M  +2    -2    scripting/scriptedeffect.h

https://commits.kde.org/kwin/a281f2bce1d1e67925aa4261ca3cdadffaeb57fc

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

Reply via email to