These two functions (_color_lighten, _color_selected): http://git.xfce.org/xfce/thunar/tree/thunar/thunar-icon-renderer.c?id=thunar-1.6.2#n311 trigger an X error: BadValue, error_code 2 request_code 155 minor_code 8 on call to cairo_mask. Tested on RHEL5 (AFAIR, RENDER version is 0.09) with cairo 1.12.2 installed in $HOME. All blend mode operators I tried were failing, all simple ones (CAIRO_OPERATOR_ADD etc) worked fine. Cairo bug report: https://bugs.freedesktop.org/show_bug.cgi?id=72551
Workarounds in: http://git.xfce.org/xfce/thunar/commit/?id=8780e13f86378151899d3e701fff2320e963f6ac Switches highlighting hovered icons to CAIRO_OPERATOR_ADD, disables highlighting of selected icons. http://git.xfce.org/xfce/thunar/commit/?id=78a3cba27cecbc13d078c127aa2acabae6048904 Re-enables highlighting of selected icons via image surface fallback. Note that this is noticeably slower when selecting multiple files via keyboard in large directories (/usr/bin).
This seems to be fixed, but we cannot find any references. Might be renderproto, using 0.11 here. Since it causes noticable performance penalties (see bug #11442), the workaround should probably be reverted or at least limited to the problematic versions (cairo/renderproto/whatever). Can you retest/revise your commit please?
I have reverted the workaround in git. Since there is no RENDER version checking implemented, thunar *will* crash when the Xserver's RENDER extension version is <0.11. The proper solution is to extend version checking that already (partially) exists in Cairo. If anyone experiences crashes please report them in Cairo's bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72551
From my point of view this has been working flawlessly for quite some time already, so I presume it's fixed in Cairo. Furthermore I suggest we look into replacing all this with GtkCSS.