Issue #16010: adding a layer with filter to a group makes it invisible.
Part of it reverts commit 3a53e4743e.
Another part is a fix to the CRITICAL mentioned in this commit.
This being said, it's clearly not entirely right yet. The boundaries of
the layer when the filter is merged are not correct, which is especially
visible when trying to draw on this layer afterwards.
Also the layer group boundaries (when reproducing the steps in #16010)
are clearly wrong too.
This commit is contained in:
parent
78de1080ce
commit
af44043108
2 changed files with 7 additions and 9 deletions
|
|
@ -1041,13 +1041,11 @@ gimp_drawable_real_set_buffer (GimpDrawable *drawable,
|
|||
* This may happen for instance when merging filters which may
|
||||
* render in negative coordinates.
|
||||
*/
|
||||
GeglBuffer *buffer2;
|
||||
GeglRectangle extent2 = { 0, 0, extent->width, extent->height };
|
||||
|
||||
buffer2 = gegl_buffer_new (&extent2, gegl_buffer_get_format (buffer));
|
||||
gimp_gegl_buffer_copy (buffer, extent, GEGL_ABYSS_NONE, buffer2, &extent2);
|
||||
|
||||
buffer = buffer2;
|
||||
buffer = g_object_new (GEGL_TYPE_BUFFER,
|
||||
"source", buffer,
|
||||
"shift-x", extent->x,
|
||||
"shift-y", extent->y,
|
||||
NULL);
|
||||
free_buffer = TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -89,13 +89,13 @@ gimp_drawable_undo_class_init (GimpDrawableUndoClass *klass)
|
|||
|
||||
g_object_class_install_property (object_class, PROP_X,
|
||||
g_param_spec_int ("x", NULL, NULL,
|
||||
0, GIMP_MAX_IMAGE_SIZE, 0,
|
||||
-GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
|
||||
GIMP_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_Y,
|
||||
g_param_spec_int ("y", NULL, NULL,
|
||||
0, GIMP_MAX_IMAGE_SIZE, 0,
|
||||
-GIMP_MAX_IMAGE_SIZE, GIMP_MAX_IMAGE_SIZE, 0,
|
||||
GIMP_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue