Gimp/app
Ell b4e12fbbbb app: add gimp_pickable_contiguous_region_prepare_line_art_async() ...
... 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.
2018-11-19 15:06:38 -05:00
..
actions Issue #2489 - Gimp 2.10.8 layer menu text along path 2018-11-13 11:30:49 +09:00
config Issue #2224 - Use the "Swap folder" setting for the GEGL cache 2018-11-18 18:10:34 +01:00
core app: add gimp_pickable_contiguous_region_prepare_line_art_async() ... 2018-11-19 15:06:38 -05:00
dialogs Issue #2224 - Use the "Swap folder" setting for the GEGL cache 2018-11-18 18:10:34 +01:00
display Fix compilation on Mac 10.6 and 10.7 (#2112) 2018-10-24 10:45:07 +02:00
file Issue #2379 - Crash on saving 2018-10-31 23:46:06 +01:00
gegl Issue #2224 - Use the "Swap folder" setting for the GEGL cache 2018-11-18 18:10:34 +01:00
gui app: Add option in the windows menu to hide the image tab bar. 2018-10-23 11:52:07 +02:00
menus libgimpbase, app: remove the plug-in menu_path compat code 2018-07-13 14:07:44 +02:00
operations app: propagate space in gimp_layer_mode_get_format 2018-11-01 01:51:47 +01:00
paint app: remove gimp_parallel_distribute(); use gegl_parallel_distribute() 2018-11-14 10:52:06 -05:00
pdb app: remove now useless erosion size option. 2018-11-19 14:18:18 +01:00
plug-in app: fix "Bad interpreter" error messaging. 2018-08-19 12:48:02 +02:00
propgui app: in prop-GUI, use "direction" UI-meta of angle props for dial 2018-07-24 02:25:25 -04:00
tests app: fix tests for new show-tabs option 2018-10-27 05:43:13 -04:00
text app: add gimp_data_factory_data_cancel() 2018-10-01 05:24:45 -04:00
tools app: add gimp_pickable_contiguous_region_prepare_line_art_async() ... 2018-11-19 15:06:38 -05:00
vectors Revert "app: make unattached vectors enable to rotate." 2018-09-06 08:39:51 +09:00
widgets app: in performance logs, add new-lines between variable definitions 2018-11-10 02:52:31 -05:00
xcf Issue #2345 - Add xyY to color sample readouts 2018-10-23 17:37:28 +02:00
.gitignore Move git-version.h to the toplevel also in .gitignore 2018-01-29 20:26:18 +01:00
about.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
app.c app: more GimpBacktrace tidying 2018-09-03 15:57:53 -04:00
app.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
errors.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
errors.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-debug.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-debug.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-intl.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-log.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-log.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-priorities.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-version.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimp-version.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcore.def
language.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
language.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
main.c app: open the Windows console a bit earlier. 2018-08-15 14:34:26 +02:00
Makefile.am app: add source location information to the Linux GimpBacktrace backend 2018-09-22 22:39:08 -04:00
sanity.c configure.ac: require babl >= 0.1.60 2018-11-15 12:55:46 -05:00
sanity.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
signals.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
signals.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tests.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
tests.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
unique.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
unique.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00