bogus floating selection code?
On Fri, 2009-02-13 at 15:41 +1030, David Gowers wrote:
I had just pasted a piece of image (copied from a layer without alpha,
pasted back on to a layer without alpha) and, as I clicked to anchor
it, GIMP crashed with this message:
ERROR:gegl-node.c:1929:gegl_node_remove_child: assertion failed:
(child_priv->parent == self || child_priv->parent == NULL)
I'm guessing this is a fairly simple mistake, so I posted here (mainly
for Mitch's benefit). It's difficult to reproduce, though.
I had only used pencil (with 1px brush) and bucketfill (threshold = 0)
before the crash occurred.
I was able to reproduce it and fixed it.
Thanks for spotting
--mitch
2009-02-13 Michael Natterer
* app/core/gimpdrawable.c (gimp_drawable_sync_source_node): need
to rip the floating selection's source node out of its layer's
graph before using it in the floating selection sub-graph, and
need to plug it back there when it's not a floating selection any
longer.
Unrelated:
Also introduce a "fs_crop_node" that makes sure the floating
selection stops at the drawable's boundaries.
(gimp_drawable_visibility_changed): use item->node instead of
gimp_item_get_node() because the latter creates the node on
demand.
* app/core/gimpdrawable-private.h: add fs_crop_node member.