Red Hat Bugzilla – Bug 506671
GNOME/Gtk scrollbar corruption with fedora-gnome-theme
Last modified: 2010-06-28 09:07:13 EDT
Created attachment 348398 [details]
Please reassign this to the right component in case I've chosen the wrong one.
The larger the size of a vertical scrollbar, the more damaged its appearance is with the default Fedora 11 theme settings.
This is 100% reproducible with fedora-gnome-theme and gtk-nodoka-engine, but not reproducible with other themes+engines. Simply choosing a different theme or a different engine makes it go away.
Thanks for reporting the issue. I cannot reproduce it though. What's your video driver? Can you try smaller screen resolutions (I don't have access to bigger than 1280x800 and even if I make the evolution bigger than screen, the scrollbar is still drawn perfectly correct), different video drivers, turning on/off compositing and/or KMS? I haven't checked the code yet for possible bugs, but seeing the attachment it looks like the problem might be somewhere else, but on the other hand you say it works with other engines, so it'll be probably hard to pinpoint the cause...
Hm... also it's interesting that it seems like only the fill is drawn incorrectly - the border at the bottom seems drawn properly, as well as the handle in the middle... So perhaps some specific usage of cairo that exploits some bug elsewhere. I'll look into it more throughout probably tomorrow.
One another question that springs to mind (although the answer is sorta implied by the original report, but I want to be sure) after inspecting the source code is: are you able to reproduce for horizontal scrollbars or is it just the vertical ones?
Just vertical scrollbars here so far.
And just for the record, it's not just me who sees it:
With regard to comment 1, I need to disappoint you. Sorry. It's beyond my time to spend a lot of time on testing. This is 1280x1024 with xorg-x11-drv-ati.
My work-around is to use the nice "Glider" theme. If I customise it and switch to "Nodoka" controls, the vertical scrollbar corruption reappears.
Reproducible with 1024 x 768.
1. Start The GIMP.
2. Use "File > Open..." dialog.
3. Click middle vertical scrollbar of folder list.
Created attachment 348661 [details]
screenshot 1024 x 768 - corruption in GIMP
It isn't specific to Nodoka.
The controls with the name "Inverted" (based on Clearlooks engine) is the only other one of default gnome-themes/gtk2-engines that causes vert.scrollbar corruption, too.
$ sudo rpm -e gtk-nodoka-engine --nodeps
Change theme to "Clearlooks".
Customise controls to "Inverted".
Does that help with narrowing it down?
(In reply to comment #8)
> $ sudo rpm -e gtk-nodoka-engine --nodeps
> Change theme to "Clearlooks".
> Customise controls to "Inverted".
> Problem reproducible.
> Does that help with narrowing it down?
Basically this now boils down to comparing now what is different in clearlooks GLOSSY (IIRC the name for the default clearlooks style) style from clearlooks INVERTED and nodoka (of course, more examples of working and not working engines is better). Reassigning to gtk2-engines seems to be a bad approach though, although it's a good idea to let mclasen know that their INVERTED clearlooks style triggers the issue as well. I have yet unconfirmed belief that some specific cairo usage triggers a bug in the video driver.
(In reply to comment #9)
> Basically this now boils down to comparing now what is different in clearlooks
> GLOSSY (IIRC the name for the default clearlooks style) style from clearlooks
Actually the default one, i.e. the one used by "Clearlooks" gtk theme, is GUMMY... GLOSSY is used in "Glossy" gtk theme (and CLASSIC in ClearlooksClassic)... Can you try these two (i.e. Glossy and ClearlooksClassic) as well?
"ClearlooksClassic" controls also cause corruption. I've missed it before probably because of its name.;) I've gone through all controls once more. Reproducible with:
Hm... after comparing the different codes, the only difference that seems that
ClearlooksClassic, Inverted and Nodoka has common compared to Clearlooks, is that they prepare bigger pattern (gradient) than is visible, but I cannot imagine how this could cause
the issue you are seeing...
Can you try this gtk theme?
It triggers different drawing paths for nodoka by not using gradients at all.
Not reproducible with NodokaFLAT controls.
Downgrades of the xorg ati driver and gtk2-engines to releases from early April have been fruitless.
(In reply to comment #13)
> Not reproducible with NodokaFLAT controls.
Thanks, this confirms what I expected.
> Downgrades of the xorg ati driver and gtk2-engines to releases from early April
> have been fruitless.
Downgrade of gtk2-engines is irrelevant here, AFAIK they haven't changed the scrollbars drawing code for some time as well. As for the driver, it either means that the bug was already there in April, and if not, than it means that either some other component in-between broke or that by April there was different configuration of various video driver features that didn't exploit this.
So, for now, summarizing what is common to all the cases and reassigning one step above (cairo), but I guess the problem is deeper than that.
* Probably happens on ATI cards and not on Intel cards
* Seems like the steps needed to trigger it is this cairo sequence:
1. init cairo
2. rotate by pi/2 or swap axes (does not seem to occur otherwise)
3. translate (this one is probably irrelevant, but I didn't tested it)
4. create linear gradient pattern, bigger than intended object that will be drawn (maybe needs to be horizontal as seen on screen when drawn)
5. set rectangle to be drawn, vertically (as is seen on screen when drawn) long
6. set the pattern for usage
7. draw fill
Reporter, could you please attach your /var/log/Xorg.0.log to this bug? I would love to know more about your hardware, whether bug 520910 isn't a duplicate here.
Created attachment 367586 [details]
Xorg.0.log - ATI Technologies Inc RV280 [Radeon 9200 PRO]
And actually, booting with "nomodeset" also fixes this. So, the bz component it has been assigned to is wrong.
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '11'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 11's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 11 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.