Bug 94887

Summary: gtk3 and gtkmm3 3.20 possibly break gui
Product: PulseAudio Reporter: jw.hendy
Component: pavucontrolAssignee: pulseaudio-bugs
Status: RESOLVED NOTOURBUG QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart, pmattern
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description jw.hendy 2016-04-11 02:01:00 UTC
I'm running Arch Linux:

$ uname -a
4.4.5-1-ARCH #1 SMP PREEMPT Thu Mar 10 07:38:19 CET 2016 x86_64 GNU/Linux

I just upgraded my packages yesterday, and I noticed that the pavucontrol gui appeared to break. The top menu items crowded together, I lost the vertical scroll bar on the right, and the sliders for volume adjustment disappeared. It was still responsive to mouse and keyboard (click the area of the volume slider, and left/right arrows would adjust).

I noted that the upgraded included gtk3 and gtkmm3, both from versions 3.18 to 3.20. After downgrading to 3.18, the gui is back to normal. Here are screenshots of pavucontrol on both versions:

- 3.18: http://i.imgur.com/zeuT1ov.png
- 3.20: http://i.imgur.com/2MMzsRv.png

Here is an example of the error output I see on 3.20:

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:7:37: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:8:37: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:9:31: The style property GtkButton:default-border is deprecated and shouldn't be used anymore. It will be removed in a future version

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:68:13: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:69:13: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(pavucontrol:31786): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:69:25: The :insensitive pseudo-class is deprecated. Use :disabled instead.

I tried changing gtk themes, but seemed to affect anything. I haven't noticed any other affected applications.

Relevant packages:

$ sudo pacman -Q |grep gtk
gtk-engine-murrine 0.98.2-2
gtk-engine-unico 1.0.2-1
gtk-engines 2.21.0-2
gtk-update-icon-cache 3.20.2-1
gtk2 2.24.30-1
gtk3 3.20.2-1
gtkmm3 3.20.0-1
gtkspell 2.0.16-3
pygtk 2.24.0-6

$ sudo pacman -Q |grep gnome
gnome-icon-theme 3.12.0-3
gnome-icon-theme-symbolic 3.12.0-3
gnome-themes-standard 3.20-1

$ openbox --version
Openbox 3.6.1

Let me know if further information would be helpful!
Comment 1 Alexander E. Patrakov 2016-04-11 03:43:32 UTC
According to other discussions in Arch bugtracker (in particular, https://bugs.archlinux.org/task/48853), gtk+3.20 is a busted release. Please rebuild it with this upstream change applied and test whether this resolves the problem for you:

https://git.gnome.org/browse/gtk+/commit/?h=gtk-3-20&id=6144b2276c7298040c080f85ffa83afbe1257c54
Comment 2 Peter Mattern 2016-04-11 12:37:00 UTC
According to the first comment of György Balló (City-busz) in https://bugs.archlinux.org/task/48853 which is in full accordance with my local findings on Arch Linux this is due to using themes which haven't been adjusted to GTK 3.*20* yet.

So the problem doesn't affect pavucontrol and is different from the one discussed in the said Arch Linux issue.
Comment 3 Alexander E. Patrakov 2016-04-11 14:41:12 UTC
There are two problems really.

1. Themes are not ready for GTK+-3.20. You are right that it looks irrelevant to this bug.

2. Wrong widget resize logic in GTK+-3.20. That's why I mentioned the patch.
Comment 4 jw.hendy 2016-04-11 15:10:00 UTC
Thanks for the prompt reply. I wondered if this was more general, but didn't see any other applications affected. I use Chromium but realize that Firefox won't start for me complaining about a gtk error.

For some reason I couldn't seem to replicate causing pavucontrol to look "ugly" by switching themes. I was just able to with gtk3/gtkmm3 3.20 installed and using lxappearance to change themes, but it required quitting pavucontrol in between changes. Typically I see the changes immediately.

I'm convinced that this is just issues with gtk and themes. Thanks for the quick response and pointing me in the right direction. I'm fine if this is closed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.