-
Jehan authored
- Do not leak allocated return value of gegl_node_to_xml_full(). - When merging layer effects, use gimp_drawable_filter_commit(), making sure we use the exact same code path as when applying layer effects destructively from the start. This also ensures that filters are properly removed from the filter stack (unlike gimp_drawable_merge_filter()), which was the reason why the rendering was wrong (hence getting the buffer without effects first, then reapplying it after was only a workaround to an actual bug). - When removing a filter, verify the object still exists before doing anything with it. If this was the last reference, we don't want to call functions on this object. In gimp_drawable_filter_commit(), we set up a weak pointer. In gimp_drawable_filter_remove_filter() itself, we save the pointer to the filter's drawable before actual removal (as we don't want to dereference a freed object later on). - export_merge_layer...
a489345e