Summary: | oxygen-gtk seems to use radio button pixmap for field and button edges? | ||
---|---|---|---|
Product: | [Plasma] Oxygen | Reporter: | JR <zorael> |
Component: | gtk2-engine | Assignee: | Hugo Pereira Da Costa <hugo.pereira.da.costa> |
Status: | CLOSED UPSTREAM | ||
Severity: | normal | CC: | b7.10110111, hugo.pereira.da.costa, web |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
oxygen-gtk display weirdness
patch |
What version of gtk and cairo? looks good ! seriously, Can't reproduce. I do suspect issue with cairo. Seems like our pixmap splitting (in TileSet) is completly broken. (I have cairo 1.10.2 here, I think, and gtk-2.24.5) GTK libraries are from oneiric main, package version 2.24.6-0ubuntu5. cairo is from the xorg-edgers ppa though, package version 1.11.3+git20111109.90b2fd34-0ubuntu0ricotz~oneiric0. I can't easily downgrade cairo without aptitude wanting to remove my entire desktop. I can live with QtCurve for now and play the guinea pig if you have ideas to narrow this down further. I tried gtk+-2.24.8 (latest stable from the 2.0 series), and still no issue. So yeah, most likely the cairo-unstable is the guilty guy. (from what I can tell, cairo-1.10.2 is the latest stable). Can you report the bug to them with a link here ? In the meanwhile I'll give a shot to unstable cairo tomorrow. Hugo Soo. Tried 1.11.2 -> no problem. Tried Cairo + pixmap from git: same problem as you. So Cairo it is. Not much we can do about it. Report to them and hope for a fix. Created attachment 65548 [details]
patch
guinea pig you said ?
Attached patch fixes it for me.
Can you test and confirm ? (tell me if you need help to apply the patch)
If yes, this points to a problem with cairo_surface_create_for_rectangle
(which I believe ignores the sx and sy parameters).
Would be nice to post to cairo.
(gee, now I run with cairo and pixman from git. All thrilled) PS, to Ruslan If you look at the code for tileset (see patch above), and at the documentation for cairo_surface_create_for_rectangle http://cairographics.org/manual/cairo-cairo-surface-t.html#cairo-surface-create-for-rectangle there is a possibility that we abuse the method (to get a copy of a sub-section of a surface), so that we actually should apply the patch no matter what. But I'm not sure I interpret the doc properly. You're opinion ? @Hugo I don't think we abuse it - we just get a subsurface of "source", and then draw using it. It looks perfectly valid to me. I do believe this bug is cairo's fault, not ours. ok. So lets wait and see what the cairo folks make out of it :) @JR hopefully you shoud be able to use oxygen-gtk in the meanwhile nonetheless. @Hugo Thanks, with the patch it looks like it should again. I'll look into filing a cairo bug. Filed as fdo #42889 https://bugs.freedesktop.org/show_bug.cgi?id=42889 |
Created attachment 65528 [details] oxygen-gtk display weirdness Version: unspecified (using KDE 4.7.3) OS: Linux Kubuntu 11.10 running KDE 4.7.3 from ppas. oxygen-gtk is fresh from git as of today 11/11, commit 6868ab76f239855f7d23d50d88ec92166d4ad5ee. I probably did something I shouldn't have, but now oxygen-gtk seems to have confused some pixmaps. See the attached screenshot. It affects all users, even new ones. Reproducible: Couldn't Reproduce Steps to Reproduce: 1. Start GTK-based program Actual Results: 2. It ends up looking weird! Expected Results: 2. It should look like a Qt4-based program. Could not reproduce as I don't know how to undo it first. It persists even if I downgrade to the repository gtk2-engines-oxygen package, and it doesn't seem to be affecting QtCurve. It affects all users and all GTK programs; oxygen-gtk-demo, Chromium, Firefox, Ex Falso, ... Is there a pixmap cache I could clear and rebuild? I've tried deleting the contents of ~/.kde/{cache,tmp}-$HOSTNAME both for my user and for root, but it didn't seem to help. I'm not sure if kbuildsycoca4 is relevant in this context, but I've run it with --noincremental and the behavior remains.