st-theme-node: reset paint state when theme node changes

https://bugzilla.gnome.org/show_bug.cgi?id=704430
This commit is contained in:
Lionel Landwerlin 2013-07-18 00:58:47 +01:00
parent ad0c4caf1c
commit fd83990d8a

View File

@ -2392,7 +2392,13 @@ st_theme_node_paint (StThemeNode *node,
if (width <= 0 || height <= 0)
return;
if (st_theme_node_needs_new_box_shadow_for_size (state, node, width, height))
/* Check whether we need to recreate the textures of the paint
* state, either because :
* 1) the theme node associated to the paint state has changed
* 2) the allocation size change requires recreating textures
*/
if (state->node != node ||
st_theme_node_needs_new_box_shadow_for_size (state, node, width, height))
{
/* If we had the ability to cache textures on the node, then we
can just copy them over to the paint state and avoid all