diff --git a/app/core/gimpdrawablefilter.c b/app/core/gimpdrawablefilter.c index a664b8be86..e5edf137ef 100644 --- a/app/core/gimpdrawablefilter.c +++ b/app/core/gimpdrawablefilter.c @@ -988,14 +988,6 @@ gimp_drawable_filter_sync_clip (GimpDrawableFilter *filter, else clip = gimp_item_get_clip (GIMP_ITEM (filter->drawable), filter->clip); - if (! clip) - { - GimpChannel *mask = GIMP_CHANNEL (filter->mask); - - if (mask && ! gimp_channel_is_empty (mask)) - clip = TRUE; - } - if (! clip) { GeglRectangle bounding_box; @@ -1040,8 +1032,8 @@ gimp_drawable_filter_sync_region (GimpDrawableFilter *filter) NULL); gegl_node_set (filter->crop_before, - "x", (gdouble) rect.x, - "y", (gdouble) rect.y, + "x", 0.0, + "y", 0.0, "width", (gdouble) rect.width, "height", (gdouble) rect.height, NULL); diff --git a/app/core/gimpfilterstack.c b/app/core/gimpfilterstack.c index f8f78a0400..d9c6716913 100644 --- a/app/core/gimpfilterstack.c +++ b/app/core/gimpfilterstack.c @@ -248,11 +248,11 @@ gimp_filter_stack_get_bounding_box (GimpFilterStack *stack, if (rect->y > current_rect.y) rect->y = current_rect.y; - if (rect->width < (current_rect.width - current_rect.x)) - rect->width = (current_rect.width - current_rect.x); + if (rect->x + rect->width < current_rect.x + current_rect.width) + rect->width = (current_rect.x + current_rect.width - rect->x); - if (rect->height < (current_rect.height - current_rect.y)) - rect->height = (current_rect.height - current_rect.y); + if (rect->y + rect->height < current_rect.y + current_rect.height) + rect->height = (current_rect.y + current_rect.height - rect->y); } } }