Summary: | ksignalplotter has visual glitches with oxygen style. | ||
---|---|---|---|
Product: | [Unmaintained] ksysguard | Reporter: | Nikita Skovoroda <chalkerx> |
Component: | general | Assignee: | 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: | ||
Sentry Crash Report: | |||
Attachments: | Test *.ui file to reproduce the bug. Use oxygen style, hover the splitter. |
Description
Nikita Skovoroda
2012-02-13 01:18:17 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. I'll look into it in more details. PS: note that it also happens with BeSpin (ok: both codes for splitter are quite similar) 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 ;) 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. I can still confirm it on KDE: 4.8.3 + Qt: 4.8.1. Still happens with KDE: 4.9.2 + Qt: 4.8.3. Why is this still UNCONFIRMED, btw? Still happens in KDE: 4.10.90 on Qt: 4.8.5. Why is this still UNCONFIRMED? 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. |