Bug 391659 - FrameSVG not rendering edges with compositing off
Summary: FrameSVG not rendering edges with compositing off
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 5.12.3
Platform: Neon Linux
: NOR normal
Target Milestone: 1.0
Assignee: Vlad Zahorodnii
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-10 10:51 UTC by uilf
Modified: 2018-06-06 17:52 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
calendar (19.87 KB, image/png)
2018-03-10 10:51 UTC, uilf
Details
windows listing (14.88 KB, image/png)
2018-03-10 10:52 UTC, uilf
Details
1 (32.79 KB, image/png)
2018-03-11 06:06 UTC, zeiu
Details
2 (24.45 KB, image/png)
2018-03-11 06:06 UTC, zeiu
Details
plasma-svgelements (171.46 KB, application/zip)
2018-03-13 08:23 UTC, bliu
Details
plasma-svgelements-breeze-dark_v5.30 (5.73 KB, text/plain)
2018-03-13 08:31 UTC, bliu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description uilf 2018-03-10 10:51:30 UTC
Created attachment 111296 [details]
calendar

Will it ever be fixed? It's longing circa a year! When I choose rendering backend as XRender it's ok, but too transparent. Yes, I got nvidia card, but this happened on Intel integrated adapter too.
Comment 1 uilf 2018-03-10 10:52:09 UTC
Created attachment 111297 [details]
windows listing

And on windows listing too!
Comment 2 David Edmundson 2018-03-11 00:40:35 UTC
I can't see what the issue is from that screenshot
Can you elaborate?
Comment 3 zeiu 2018-03-11 06:06:11 UTC
(In reply to David Edmundson from comment #2)
> I can't see what the issue is from that screenshot
> Can you elaborate?

These white lines, don't you see it? I specially set wallpaper to white to make it look clearer.
Comment 4 zeiu 2018-03-11 06:06:35 UTC
Created attachment 111313 [details]
1
Comment 5 zeiu 2018-03-11 06:06:47 UTC
Created attachment 111314 [details]
2
Comment 6 zeiu 2018-03-11 06:09:20 UTC
Maybe I can do something or run plasma shell with some special parameters to make you understand what causes this bug?
Comment 7 zeiu 2018-03-11 06:15:41 UTC
FYI it early appeared randomly on systray icons and showed normally on clock's calendar. But then reverted and now icons don't have this line on the right, but the clock does have. And as I told before it shows normally when I choose XRender as backend, but this is not a variant because all the decorations becomes _very_ translucent.
Comment 8 David Edmundson 2018-03-11 15:18:31 UTC
Oh, I know that bug.

Never managed to get this nicely reproducible in order to fix it.
Can you upload your ~/.cache/plasma-svgelements-* files.


Then if you want to fix your setup wipe this cache file, and/or enable compositing.
Comment 9 bliu 2018-03-13 08:23:24 UTC
Created attachment 111360 [details]
plasma-svgelements

Sorry for delay, here's my files.
Comment 10 bliu 2018-03-13 08:31:35 UTC
Created attachment 111361 [details]
plasma-svgelements-breeze-dark_v5.30

(In reply to David Edmundson from comment #8)

> Then if you want to fix your setup wipe this cache file, and/or enable
> compositing.

Just did as you told and nothing happens, removed them, disabled/enabled compositor and the lines still remains. But after swipe and re-enabling I got one new file in .cache directory: plasma-svgelements-breeze-dark_v5.30
Comment 11 Vlad Zahorodnii 2018-05-30 15:07:31 UTC
https://phabricator.kde.org/D13215
Comment 12 Vlad Zahorodnii 2018-06-06 17:52:12 UTC
Git commit dce258bee3da854980b6f2430b26f7025752a505 by Vlad Zagorodniy.
Committed on 06/06/2018 at 17:52.
Pushed by vladz into branch 'master'.

FrameSvg: Recache maskFrame if enabledBorders has been changed

Summary:
In some cases, when rendering frame svg background, measures & margins
do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5,
but the bottom border is disabled. This causes visual artifacts like this

{F5878318, layout=center, size=full}

//Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.//

The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders
into account when it's making decision whether it should update maskFrame.

Just for reference, this is "after"

{F5878319, layout=center, size=full}
Related: bug 382324, bug 390632

Test Plan:
* Triggered the Breeze task switcher (with compositing on and off)
* Didn't see any transparent strips

---

* Tried running FrameSvgTest, still passes

Reviewers: #plasma, #frameworks, mart

Reviewed By: #plasma, mart

Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel

Tags: #frameworks

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

M  +16   -10   src/plasma/framesvg.cpp

https://commits.kde.org/plasma-framework/dce258bee3da854980b6f2430b26f7025752a505