"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "gegl/process/gegl-graph-traversal.c" between
gegl-0.4.18.tar.xz and gegl-0.4.20.tar.xz

About: GEGL (Generic Graphics Library) is a graph based image processing framework (mainly developed for GIMP).

gegl-graph-traversal.c  (gegl-0.4.18.tar.xz):gegl-graph-traversal.c  (gegl-0.4.20.tar.xz)
skipping to change at line 202 skipping to change at line 202
if (node->cache) if (node->cache)
{ {
GeglBuffer *cache = GEGL_BUFFER (node->cache); GeglBuffer *cache = GEGL_BUFFER (node->cache);
const GeglRectangle *cache_extent = gegl_buffer_get_extent (cache); const GeglRectangle *cache_extent = gegl_buffer_get_extent (cache);
if (! gegl_rectangle_equal (cache_extent, &node->have_rect)) if (! gegl_rectangle_equal (cache_extent, &node->have_rect))
{ {
GeglRectangle old_rect; GeglRectangle old_rect;
GeglRectangle new_rect; GeglRectangle new_rect;
GeglRectangle diff_rects[4];
gint n_diff_rects;
gint i;
gegl_rectangle_align_to_buffer (&old_rect, cache_extent, cache, gegl_rectangle_align_to_buffer (&old_rect, cache_extent, cache,
GEGL_RECTANGLE_ALIGNMENT_SUPERSET); GEGL_RECTANGLE_ALIGNMENT_SUPERSET);
gegl_rectangle_align_to_buffer (&new_rect, &node->have_rect, cache, gegl_rectangle_align_to_buffer (&new_rect, &node->have_rect, cache,
GEGL_RECTANGLE_ALIGNMENT_SUPERSET); GEGL_RECTANGLE_ALIGNMENT_SUPERSET);
n_diff_rects = gegl_rectangle_subtract (diff_rects, if (gegl_rectangle_contains (&new_rect, &old_rect))
&old_rect, &new_rect); gegl_buffer_set_extent (cache, &node->have_rect);
else
for (i = 0; i < n_diff_rects; i++) g_clear_object (&node->cache);
gegl_buffer_clear (cache, &diff_rects[i]);
gegl_buffer_set_extent (cache, &node->have_rect);
} }
} }
g_mutex_unlock (&node->mutex); g_mutex_unlock (&node->mutex);
parent = gegl_node_get_parent (node); parent = gegl_node_get_parent (node);
while (parent != NULL && parent->operation != NULL) while (parent != NULL && parent->operation != NULL)
{ {
gegl_operation_prepare (parent->operation); gegl_operation_prepare (parent->operation);
parent = gegl_node_get_parent (parent); parent = gegl_node_get_parent (parent);
 End of changes. 2 change blocks. 
10 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)