PanelView: align setting of masks with how it's done for dialogs/tooltips
ClosedPublic

Authored by kossebau on Jun 14 2019, 3:26 PM.

Details

Summary

With Plasma dialogs & tooltips the mask is only set on the widget itself
if compositing is off. Instead is the mask explicitly passed for the
KWindowEffects.
The recent changes to fix the blurbehind & contrast mask with panels
instead turned to always set the mask on the widget. For some reason
yet to be understood this can sometimes result in an offset by a pixel
between the mask used for painting and the mask used for the window effects.

Aligning the mask setting code with the one for dialogs & tooltips makes
the symptom go away for now, and also delivers consistency.

BBUG: 406380
FIXED-IN: 5.16.1

Test Plan

Using different themes, including Adapta & Arc Dark, a gap can no longer
been seen. Only with compositing turned off, which is old behaviour due to
the real bug yet to understand completly.
Resizing panels or changing screen resolution also works without breaking
rendering or panel contents interaction.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
kossebau created this revision.Jun 14 2019, 3:26 PM
Restricted Application added a project: Plasma. · View Herald TranscriptJun 14 2019, 3:26 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
kossebau requested review of this revision.Jun 14 2019, 3:26 PM
kossebau updated this revision to Diff 59800.Jun 14 2019, 3:44 PM

for completeness also remove mask for m_backgroundHints == Plasma::Types::NoBackground

hein accepted this revision.Jun 14 2019, 6:19 PM
hein added a subscriber: hein.

Thanks for restoring my sanity & faith in panels, this annoyed me for weeks :)

This revision is now accepted and ready to land.Jun 14 2019, 6:19 PM
kossebau edited the summary of this revision. (Show Details)Jun 15 2019, 3:47 PM
This revision was automatically updated to reflect the committed changes.