Ensure that EffectsHandlerImpl::slotClientShown is only invoked once per Window
ClosedPublic

Authored by graesslin on Aug 3 2016, 2:15 PM.

Details

Summary

This fixes a regression introduced with a1afeded6ae63e47d39fc08480e929c0451c51e8.
The connections were setup every the windowShown signal got emitted.
This caused effects to get multiple singals and start multiple animations
which then do not get cancelled correctly.

The incorrect behavior was most visible in the translucency effect which
did not cancel the move animation and the window stayed translucent.

BUG: 366081

Test Plan

New test case which simulates the behavior of the translucency
effect.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 5655.Aug 3 2016, 2:15 PM
graesslin retitled this revision from to Ensure that EffectsHandlerImpl::slotClientShown is only invoked once per Window.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: KWin, Plasma, sebas.
Restricted Application added a project: KWin. · View Herald TranscriptAug 3 2016, 2:15 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
hein accepted this revision.Aug 3 2016, 3:16 PM
hein added a reviewer: hein.
hein added a subscriber: hein.

Works for me.

This revision is now accepted and ready to land.Aug 3 2016, 3:16 PM
bshah accepted this revision.Aug 3 2016, 3:17 PM
bshah added a reviewer: bshah.
bshah added a subscriber: bshah.

My desperate attempt to reproduce bug with this applied doesn't seem to workout.. so "ship it"

sebas accepted this revision.Aug 3 2016, 3:19 PM
sebas edited edge metadata.

Seems to fix the problem for me, too.

This revision was automatically updated to reflect the committed changes.