• Ell's avatar
    app: add gimp_pickable_contiguous_region_prepare_line_art_async() ... · b4e12fbb
    Ell authored
    ... and use in bucket-fill tool
    
    Add gimp_pickable_contiguous_region_prepare_line_art_async(), which
    computes a line-art asynchronously, and use it in the bucket-fill
    tool, instead of having the tool create the async op.
    
    This allows the async to keep running even after the pickable dies,
    since we only need the pickable's buffer, and not the pickable
    itself.  Previously, we reffed the pickable for the duration of the
    async, but we could still segfault when unreffing it, if the
    pickable was a drawable, and its parent image had already died.
    
    Furthermore, let the async work on a copy of the pickable's buffer,
    rather than the pickable's buffer directly.  This avoids some race
    conditions when the pickable is the image (i.e., when "sample
    merged" is active), since then we're using image projection's
    buffer, which is generally unsafe to use in different threads
    concurrently.
    
    Also, s/! has_alpha/has_alpha/ when looking for transparent pixels,
    and quit early, at least during this stage, if the async in
    canceled.
    b4e12fbb
Name
Last commit
Last update
..
actions Loading commit data...
config Loading commit data...
core Loading commit data...
dialogs Loading commit data...
display Loading commit data...
file Loading commit data...
gegl Loading commit data...
gui Loading commit data...
menus Loading commit data...
operations Loading commit data...
paint Loading commit data...
pdb Loading commit data...
plug-in Loading commit data...
propgui Loading commit data...
tests Loading commit data...
text Loading commit data...
tools Loading commit data...
vectors Loading commit data...
widgets Loading commit data...
xcf Loading commit data...
.gitignore Loading commit data...
Makefile.am Loading commit data...
about.h Loading commit data...
app.c Loading commit data...
app.h Loading commit data...
errors.c Loading commit data...
errors.h Loading commit data...
gimp-debug.c Loading commit data...
gimp-debug.h Loading commit data...
gimp-intl.h Loading commit data...
gimp-log.c Loading commit data...
gimp-log.h Loading commit data...
gimp-priorities.h Loading commit data...
gimp-version.c Loading commit data...
gimp-version.h Loading commit data...
gimpcore.def Loading commit data...
language.c Loading commit data...
language.h Loading commit data...
main.c Loading commit data...
sanity.c Loading commit data...
sanity.h Loading commit data...
signals.c Loading commit data...
signals.h Loading commit data...
tests.c Loading commit data...
tests.h Loading commit data...
unique.c Loading commit data...
unique.h Loading commit data...