horst3180 / vertex-theme

Vertex is a theme for GTK 3, GTK 2, Gnome-Shell and Cinnamon
GNU General Public License v3.0
768 stars 78 forks source link

Vertex-Dark broken after last upgrade #230

Open haasn opened 7 years ago

haasn commented 7 years ago

The issue itself

For some reason, when selecting Vertex-Dark, it doesn't properly render some backgrounds. They appear to render as an “undefined” color; in gtk-theme-switch backgrounds show up using whatever color I had picked before.

What gtk-theme-switch looks like after choosing vertex-dark and hitting “apply”: gtk-theme-switch

What applications look like when launching in this configuration: pcmanfm

I have no idea why I'm only getting this issue now. What is worth mentioning is that I apparently did not have the murrine theme engine or vertex-theme package installed at all prior to this point, which makes me wonder how I was actually using this theme before. (Presumably, I installed it out-of-tree? If so, I have no idea what I may have done differently that made it work then)

I'm not sure if the issue only affects Vertex-Dark or not, because the other themes are basically indistinguishable to me. But this is what it looks like with the normal Vertex theme:

pcmanfm with Vertex

Extra info

I'm not sure which package in particular caused the breakage, but here are some suspects:

Mon Oct 17 00:34:50 2016 >>> x11-libs/libX11-1.6.4
Mon Oct 17 00:35:37 2016 >>> x11-libs/libXrender-0.9.10
Mon Oct 17 00:36:16 2016 >>> x11-libs/libXfixes-5.0.3
Mon Oct 17 00:36:47 2016 >>> x11-libs/libXi-1.7.7
Mon Oct 17 00:37:19 2016 >>> x11-libs/libXrandr-1.5.1
Mon Oct 17 00:46:07 2016 >>> x11-libs/gdk-pixbuf-2.34.0
Mon Oct 17 00:48:45 2016 >>> gnome-base/gsettings-desktop-schemas-3.20.0
Mon Oct 17 00:50:41 2016 >>> x11-themes/gnome-themes-standard-3.20.2-r1
Mon Oct 17 01:15:53 2016 >>> x11-themes/gtk-engines-adwaita-3.20.2
Mon Oct 17 01:41:40 2016 >>> media-gfx/gtkimageview-1.6.4
Mon Oct 17 02:42:36 2016 >>> x11-libs/gtk+-2.24.31-r1

I'm not sure which of these packages I'm supposed to blame. Another thing that changed is that my stuff suddenly started aborting (again!) with errors like Assertion!scaled_font->cache_frozen' failed.`.

I have manually tracked down and applied a fix for the abort() from https://launchpadlibrarian.net/265151655/murrine-ubuntu-debdiff which seems to work (at least sometimes), but it does not resolve my Vertex-Dark issue.

Any advice you could give me at all would be greatly appreciated. I'm basically on my own here and upstream GTK doesn't care about users at all, so you're probably the person who knows the most about why Vertex-Dark might be broken for me.

haasn commented 7 years ago

Update: re: “how was it ever working for me before?” I seem to have found the culprit: I had a Vertex-Dark git clone in my dev folder, left on commit fc39033. I mostly likely installed that system-wide manually at some point

It's a miracle it never broke until now (although I did have to keep gtk+3 pinned on version 0.18 because 0.20 broke everything for me as well, maybe that was the cause?), but unfortunately I can no longer build this particular commit (invalid GNOME version: 3.18).

Also, I noticed that I have similar problems with gtk+3 as well, although in this case it affects different elements:

pavucontrol

haasn commented 7 years ago

Another thing I forgot to point out: It actually works fine in gtk-theme-switch's “Preview” dialog, and ONLY there.

preview

haasn commented 7 years ago

The issue grows more mysterious:

I checked out yesterday's FS snapshot (when it was still working fine) and had a dig through /usr/lib64/gtk-2.0 - and there was not a trace to be found of the murrine theme engine. Was I somehow using the Vertex-Dark theme applied to the Adwaita theme engine or something? That doesn't make sense. Or did I have it installed to some non-standard path (maybe in my $HOME)?

A find didn't find any trace of -name '*murrine*' either, neither in /usr nor in my home dir.

haasn commented 7 years ago

Okay, I managed to fix it. I went through and downgraded all of the suspect packages one by one to their version from yesterday, reinstalled the /usr/share/themes/Vertex* folders from the snapshot, and it works again. Now to do the upgrade carefully, one by one, and see on which step it fails...

haasn commented 7 years ago

Huh, that's odd:

Apparently my issues resume the moment I install gnome-themes-standard. (Before, I did not have this package installed at all, it seems to have pulled in by gtk+-2.24.31-r1, whereas gtk+-2.24.31 does not have it as a dependency)

Incidentally, vertex-theme itself also seems to pull in gnome-themes-standard, which makes this even odder. How can vertex-theme depend on something that breaks it? Anyway, I figured out that if I simply force my package manager to ignore the dependencies gnome-themes-standard (and pretend it's already installed), I can use the latest version of vertex-theme and gtk+:2 just fine.

So for me the solution is not so much downgrading packages as it is simply preventing gnome-themes-standard from being installed. With this change, I consider my issue is fixed, but you may feel free to re-open it if you believe there still is an issue with vertex-theme in particular (due to breaking when gnome-themes-standard is installed)

Also, I can't even claim I can begin to understand why vertex works perfectly for me even with gtk-engines-murrine uninstalled, but any attempt on my side to pretend I even remotely understand how gtk+ is supposed to work would be an exaggeration. Also, with gnome-themes-standard removed, I no longer get the assertion crash mentioned earlier, even without the mentioned patch to x11-themes/gtk-engine-murrine. (But then again, it doesn't seem like that engine is even being used, so...)

haasn commented 7 years ago

Hmm, it seems I got excited too quickly. While my issue is resolved for gtk+:2, my gtk+:3 issue remains. It seems I can only solve it by removing vertex-theme entirely and manually cping over the old out-of-tree version of Vertex from yesterday. Maybe this one is a regression in vertex-theme itself? It seems to happen at least in both the git and 20160329 versions of the theme.

Since I'm not actually sure what the change could have been, I did a recursive diff of the Vertex-Dark directories. Apart from changed binary files (.png images), the only diffence between the two versions was the gtk-3.0/gtk.css, which was changed from just @import url("gtk-contained.css"); to a very long file. Changing that file back to the gtk-contained.css (or just symlinking the two together) fixes my gtk+:3-related issues again!

So the only step that remains is figuring out what that file changed, which is easy to do with git blame: 9cdab24cfa7b1260bda652e0a70e08dc238740b6 What exactly that commit is doing, I don't know (the commit message isn't exactly descriptive) - but what I do know is that it completely breaks on my end. I'll reopen this issue, since this seems like a bug on your end.