Bug 293953

Summary: ksignalplotter has visual glitches with oxygen style.
Product: [Applications] ksysguard Reporter: Nikita Skovoroda <chalkerx>
Component: generalAssignee: KSysGuard Developers <ksysguard-bugs>
Status: RESOLVED WORKSFORME    
Severity: minor CC: cfeck, hugo.pereira.da.costa
Priority: NOR Keywords: investigated
Version: 4.9.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Test *.ui file to reproduce the bug. Use oxygen style, hover the splitter.

Description Nikita Skovoroda 2012-02-13 01:18:17 UTC
Created attachment 68741 [details]
Test *.ui file to reproduce the bug. Use oxygen style, hover the splitter.

Version:           4.8 (using KDE 4.8.0) 
OS:                Linux

See bug #290879. That bug is different and closed, but it has some information on this one.

This is not an oxygen style bug.

Reproducible: Always

Steps to Reproduce:
Download attached test *.ui file.
Open it with QtDesigner.
View in the oxygen style.
Hover the splitter.

Actual Results:  
There are visual glitches: black rectangles near the mouse, that dissapear when the mouse is removed from the splitter.

Expected Results:  
No visual glitches.

A simular issue was fixed for kcapacitybar by this commit: https://projects.kde.org/projects/kde/kdelibs/repository/revisions/48e090
Comment 1 Christoph Feck 2012-02-13 17:11:59 UTC
It looks like an Oxygen bug (in this case?)

The plot widget does a "fillRect(rect(), backgroundColor());" in its paintEvent, so there cannot be any corruption caused by the widget. Why Qt fails to send the paintEvent when used with the splitter hovering, that I don't know.

If it cannot be fixed in Oxygen, we probably have to remove the NoSystemBackground attribute from the plot widget, but it had been added for better performance with frequent updates.

Adding Hugo.
Comment 2 Hugo Pereira Da Costa 2012-02-13 17:30:10 UTC
I'll look into it in more details.
PS: note that it also happens with BeSpin
(ok: both codes for splitter are quite similar)
Comment 3 Christoph Feck 2012-02-13 23:00:17 UTC
Ouch, I thought this is about kdelibs' KPlotWidget, but it is about KSignalPlotter, which is from ksysguard. Have to check the code there, before blaming Oxygen again ;)
Comment 4 Christoph Feck 2012-02-13 23:10:12 UTC
Okey, GraphWidget also sets NoSystemBackground, in addition to PaintOnScreen. I remember a blog where it was explained that adding those greatly increased performance. Maybe we should benchmark again with recent Qt (raster backend etc.).

I will leave it to ksysguard maintainers to decide.
Comment 5 Nikita Skovoroda 2012-05-22 15:18:52 UTC
I can still confirm it on KDE: 4.8.3 + Qt: 4.8.1.
Comment 6 Nikita Skovoroda 2012-11-01 15:34:29 UTC
Still happens with KDE: 4.9.2 + Qt: 4.8.3.

Why is this still UNCONFIRMED, btw?
Comment 7 Nikita Skovoroda 2013-07-08 05:06:09 UTC
Still happens in KDE: 4.10.90 on Qt: 4.8.5.

Why is this still UNCONFIRMED?
Comment 8 Christoph Feck 2013-07-08 10:03:16 UTC
If you have so much spare time , you are invited to take over maintainership for KSysGuard.

First you confirm where the actual bug is, suggest a patch, benchmark the changes, and then commit them.