Kubuntu 12.04: Crash when clicking the general tab - How to fix

Created by Daniel Richter
Keywords:
Last updated by:
Daniel Richter

What happens:
Grub Customizer starts fine. But when clicking the "general settings" tab it crashes. When running from terminal, it shows the message "(grub-customizer:14493): Gtk-CRITICAL **: gtk_widget_get_style_context: assertin `GTK_IS_WIDGET (widget)' failed".

Why:
Kubuntu uses the theme engine gtk3-engines-oxygen at version 1.0.2. This theme engine crashes when it should render multi column comboboxes. Such a combobox is used by grub customizer to show the "default operating system" switcher on the "general settings" tab.

How to fix it:
Install the fixed version of gtk3-engines-oxygen. The problem is resolved since 1.0.4. The current version of this series is 1.0.5. This is just a newer micro release which should be fully compatible to 1.0.2 and should be shipped by distribution. However ubuntu didn't yet. So you have to install version 1.0.5 manually:

sudo apt-get build-dep gtk3-engines-oxygen
sudo apt-get install git
sudo apt-get purge gtk3-engines-oxygen
git clone -b gtk3 git://anongit.kde.org/oxygen-gtk oxygen-gtk3
cd oxygen-gtk3
git checkout vgtk3-1.0.5
wget --no-check-certificate -O 299001.patch https://bugs.kde.org/attachment.cgi?id=70781
patch -Np1 < 299001.patch
mkdir build
cd build
cmake ../
make -j2
sudo make install

Another solution is choosing another gtk 3 theme from kde system settings. But they wont integrate as well.

More info: https://bugs.launchpad.net/ubuntu/+source/oxygen-gtk3/+bug/991891