@ -667,21 +667,21 @@ void wlr_scene_buffer_set_buffer_with_damage(struct wlr_scene_buffer *scene_buff
assert ( buffer | | ! damage ) ;
assert ( buffer | | ! damage ) ;
bool update = false ;
bool update = false ;
wlr_texture_destroy ( scene_buffer - > texture ) ;
scene_buffer - > texture = NULL ;
if ( buffer ) {
if ( buffer ) {
// if this node used to not be mapped or its previous displayed
// if this node used to not be mapped or its previous displayed
// buffer region will be different from what the new buffer would
// buffer region will be different from what the new buffer would
// produce we need to update the node.
// produce we need to update the node.
update = scene_buffer - > dst_width = = 0 & & scene_buffer - > dst_height = = 0 & &
update = ( ! scene_buffer - > buffer & & ! scene_buffer - > texture ) | |
( scene_buffer - > dst_width = = 0 & & scene_buffer - > dst_height = = 0 & &
( scene_buffer - > buffer_width ! = buffer - > width | |
( scene_buffer - > buffer_width ! = buffer - > width | |
scene_buffer - > buffer_height ! = buffer - > height ) ;
scene_buffer - > buffer_height ! = buffer - > height ) ) ;
} else {
} else {
update = true ;
update = true ;
}
}
wlr_texture_destroy ( scene_buffer - > texture ) ;
scene_buffer - > texture = NULL ;
scene_buffer_set_buffer ( scene_buffer , buffer ) ;
scene_buffer_set_buffer ( scene_buffer , buffer ) ;
if ( update ) {
if ( update ) {