diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c index fb2ddd3962..ed1a1eb7f8 100644 --- a/gsk/gskrendernode.c +++ b/gsk/gskrendernode.c @@ -549,14 +549,14 @@ gsk_render_node_diff (GskRenderNode *node1, return; if (_gsk_render_node_get_node_type (node1) == _gsk_render_node_get_node_type (node2)) - return GSK_RENDER_NODE_GET_CLASS (node1)->diff (node1, node2, region); + GSK_RENDER_NODE_GET_CLASS (node1)->diff (node1, node2, region); - if (_gsk_render_node_get_node_type (node1) == GSK_CONTAINER_NODE) - return gsk_container_node_diff_with (node1, node2, region); - if (_gsk_render_node_get_node_type (node2) == GSK_CONTAINER_NODE) - return gsk_container_node_diff_with (node2, node1, region); - - return gsk_render_node_diff_impossible (node1, node2, region); + else if (_gsk_render_node_get_node_type (node1) == GSK_CONTAINER_NODE) + gsk_container_node_diff_with (node1, node2, region); + else if (_gsk_render_node_get_node_type (node2) == GSK_CONTAINER_NODE) + gsk_container_node_diff_with (node2, node1, region); + else + gsk_render_node_diff_impossible (node1, node2, region); } /**