Source: gtk2-engines-murrine Version: 0.98.1.1-5 Severity: important Tags: jessie stretch sid patch Control: affects -1 mousepad gimp geany xfce4-panel xfce4-settings
Due to a problem in the Murrine engine, using bitmap fonts and Murrine-based themes at the same time might lead to crash of various GTK+2 apps. This problem was around for about 3-4 years, or maybe even more. Steps to reproduce: 1. Have Xfce installed. 2. Install gtk2-engines-murrine and murrine-themes packages. 3. Install some package with bitmap fonts, for example, xfonts-terminus. 4. Run xfce4-appearance-settings and select some Murrine-based theme, for example, Greybird or Murrine-Light. 5. Switch to the Fonts tab and select some bitmap font, for example, Terminus. 6. Exit xfce4-appearance-settings. Now some GTK+2 apps will crash right on start with the following error message: ../../../../src/cairo-scaled-font.c:459: _cairo_scaled_glyph_page_destroy: Assertion `!scaled_font->cache_frozen' failed. I found out it's reproducible with mousepad, gimp, geany. With some Murrine-based themes, like Greybird, it's also reproducible with xfce4-panel and Xfce's configuration apps: xfce4-appearance-settings [1], xfce4-mouse-settings, xfce4-session-settings, etc. I was able to find the proposed solution at [2] and made a patch which fixes the issue. So far, the crashes have disappeared, and no any regressions have been found. The debdiff with the patch is in the attachment. It can be applied in Stable, Testing and Unstable, since the version of gtk2-engines-murrine is the same in all of them. ------------------------ [1] In this nasty case you'll probably want to reset the font via the console tool: xfconf-query -c xsettings -p /Gtk/FontName -r [2] https://bugs.freedesktop.org/show_bug.cgi?id=78787#c9
diff -Nru gtk2-engines-murrine-0.98.1.1/debian/changelog gtk2-engines-murrine-0.98.1.1/debian/changelog --- gtk2-engines-murrine-0.98.1.1/debian/changelog 2012-03-27 22:10:31.000000000 +0400 +++ gtk2-engines-murrine-0.98.1.1/debian/changelog 2016-04-01 11:35:03.000000000 +0300 @@ -1,3 +1,12 @@ +gtk2-engines-murrine (0.98.1.1-5.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * pango_cairo_update_layout.patch: new patch. Fixes crashes of + various apps when bitmap font like Terminus is used as default + system font. + + -- Vlad Orlov <mon...@inbox.ru> Fri, 01 Apr 2016 11:34:43 +0300 + gtk2-engines-murrine (0.98.1.1-5) unstable; urgency=low * debian/control: diff -Nru gtk2-engines-murrine-0.98.1.1/debian/patches/pango_cairo_update_layout.patch gtk2-engines-murrine-0.98.1.1/debian/patches/pango_cairo_update_layout.patch --- gtk2-engines-murrine-0.98.1.1/debian/patches/pango_cairo_update_layout.patch 1970-01-01 03:00:00.000000000 +0300 +++ gtk2-engines-murrine-0.98.1.1/debian/patches/pango_cairo_update_layout.patch 2016-04-01 11:37:55.000000000 +0300 @@ -0,0 +1,12 @@ +Index: gtk2-engines-murrine-0.98.1.1/src/murrine_style.c +=================================================================== +--- gtk2-engines-murrine-0.98.1.1.orig/src/murrine_style.c ++++ gtk2-engines-murrine-0.98.1.1/src/murrine_style.c +@@ -2153,6 +2153,7 @@ murrine_style_draw_layout (GtkStyle + cairo_t *cr; + cr = murrine_begin_paint (window, area); + cairo_translate (cr, x+xos, y+yos); ++ pango_cairo_update_layout (cr, layout); + pango_cairo_layout_path (cr, layout); + murrine_set_color_rgba (cr, &temp, 0.5); + cairo_stroke (cr); diff -Nru gtk2-engines-murrine-0.98.1.1/debian/patches/series gtk2-engines-murrine-0.98.1.1/debian/patches/series --- gtk2-engines-murrine-0.98.1.1/debian/patches/series 2012-03-25 16:22:45.000000000 +0400 +++ gtk2-engines-murrine-0.98.1.1/debian/patches/series 2016-04-01 11:35:25.000000000 +0300 @@ -1,3 +1,4 @@ 01_fix-linking-pixman.patch 02_fix-linking-lm.patch 03_glib-single-include.patch +pango_cairo_update_layout.patch