Gimp/pdb/groups
Jehan 9849f2eff7 app, pdb: factorize code for allowed filters.
The code to ban some filters for non-destructive usage was duplicated in
a PDB file and in the XCF load code. Additionally to combining these 2
codes into a single gimp_gegl_op_nde_allowed(), this commit also moves
part of the logic into gimp_gegl_op_blacklisted() which improves the
following:

* It used to be possible to create filters for hidden operations which
  were not returned by gimp_drawable_filter_operation_get_available(),
  such as "gegl:color" or "gimp:equalize", which would create all sorts
  of problems. Now trying to create these filters through the API will
  not work and will properly warn with an explicit error message.
  I do not consider this an API break since the filters were not
  returned in the available lists and therefore were not considered
  usable. Anyone who would have used any of these hidden filters was
  just going around a weakness in our implementation.
* We make sure that our lists of allowed/forbidden filters are
  consistent across usages.
* When getting the list of filters with gimp_gegl_get_op_classes(), we
  don't need to do an additional validation step (as we were doing until
  now in the PDB call). This is meant to imply that all returned
  operations were already validated.
2026-02-21 14:50:19 +01:00
..
brush.pdb libgimp, plug-ins: Prevent GFig crash with NULL brush 2025-05-05 09:36:04 +00:00
brush_select.pdb app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
brushes.pdb app, libgimp, pdb: gimp_*_get_list() for various resource types return a resource array. 2024-11-03 17:45:10 +01:00
buffer.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
channel.pdb app, libgimp, pdb: further improve function documentation. 2025-10-11 22:10:30 +02:00
context.pdb pdb, libgimp: Add PDB get/set for fade-length and fade-repeat 2025-08-22 17:43:40 +00:00
debug.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
display.pdb app, libgimp, pdb: prettify the previous commit. 2024-08-26 22:48:45 +02:00
drawable.pdb app, libgimp, pdb: clean up some algorithm URLs. 2025-11-24 21:45:03 +01:00
drawable_color.pdb libgimp, pdb: re-generate annotations for deprecated functions. 2026-02-01 22:37:14 +01:00
drawable_edit.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
drawable_filter.pdb app, pdb: factorize code for allowed filters. 2026-02-21 14:50:19 +01:00
drawable_select.pdb app, libgimp, pdb: use deprecated and deprecated_since rather than… 2026-02-01 22:40:27 +01:00
dynamics.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
edit.pdb app, libgimp, pdb, plug-ins: new GimpCoreObjectArray type and drawablearray… 2024-10-25 23:28:42 +02:00
file.pdb app, libgimp, pdb: fix docs of gimp_file_load() and gimp_image_is_dirty(). 2025-10-24 03:00:16 +02:00
floating_sel.pdb Initial space invasion commit in GIMP 2018-07-21 16:42:57 +02:00
font.pdb app, libgimp, pdb: removing gimp_fonts_get_by_name(). 2024-11-03 17:45:10 +01:00
font_select.pdb app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
fonts.pdb GimpFontFactory: Move font loading to another thread 2025-05-14 22:42:22 +00:00
gimp.pdb app, libgimp, pdb: make an early check on parasite name. 2025-10-28 16:17:16 +01:00
gimprc.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
gradient.pdb app, libgimp, pdb: gimp_gradient_get_custom_samples() also returns an array of colors. 2024-11-03 13:35:16 +01:00
gradient_select.pdb app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
gradients.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
group_layer.pdb Issue #12772: fix annotations. 2025-01-21 15:04:34 +01:00
help.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
image.pdb app, pdb: fix gimp_image_get_thumbnail() on high-bit depth image. 2026-02-15 06:19:37 +00:00
image_autocrop.pdb app, libgimp, pdb: allow NULL input drawable to the new crop procedures. 2025-02-09 19:24:41 +01:00
image_color_profile.pdb Remove GimpUint8Array in favor of GBytes 2023-05-23 23:37:50 +02:00
image_convert.pdb app, libgimp, pdb: factorize a bunch of similar code into gimp_pdb_get_resource(). 2023-07-27 15:25:32 +02:00
image_grid.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
image_guides.pdb pdb: also allow none_ok on PDB type 'guide'. 2025-06-12 13:21:52 +02:00
image_sample_points.pdb Issue #14205: gimp-image-find-next-sample-point returns error when… 2025-06-12 12:59:10 +02:00
image_select.pdb widgets, pdb, libgimp: GimpProcedureDialog Image Widget 2025-11-12 03:12:24 +00:00
image_transform.pdb Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
image_undo.pdb pdb: forgot one case of behavior in previous commit 2023-07-21 17:03:32 -04:00
item.pdb widgets, pdb, libgimp: GimpProcedureDialog Item Widget 2025-11-16 16:42:24 +00:00
item_transform.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
layer.pdb app, libgimp, pdb: fix markdown-like syntax. 2025-10-12 17:22:18 +02:00
link_layer.pdb app, libgimp, pdb: remove specific functions now in shared GimpRasterizable API. 2025-10-13 18:00:10 +02:00
message.pdb Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
paint_tools.pdb app, pdb: Fix arguments for Gimp.clone ()... 2026-01-27 03:27:20 +00:00
palette.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
palette_select.pdb app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
palettes.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
path.pdb app, libgimp, pdb: further improve function documentation. 2025-10-11 22:10:30 +02:00
pattern.pdb API PDB: resource-get-by-name return NULL instead of error 2024-03-19 12:05:28 +00:00
pattern_select.pdb app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
patterns.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
pdb.pdb Issue #15152: Export to bzip2, gzip, xz gives warnings. 2025-10-28 12:34:58 +01:00
plug_in.pdb pdb: Make gimp-plug-ins-query public 2025-04-23 14:05:16 +00:00
progress.pdb app, libgimp, pdb: fix a null_ok/none_ok mixup. 2025-01-20 20:55:48 +01:00
rasterizable.pdb app, pdb: do not push undos on rasterizables when loading a XCF. 2025-10-23 01:16:58 +02:00
resource.pdb app: move functions to look up GimpData into core. 2025-08-17 02:20:19 +00:00
selection.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
text_layer.pdb text, pdb: Connect text outline unit to PDB 2025-10-25 12:00:52 -04:00
text_tool.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
unit.pdb app, libgimp*, pdb, plug-ins: rename various public API name s/float/double/. 2024-11-02 15:00:03 +01:00
vector_layer.pdb app, libgimp, pdb: new procedures gimp_vector_layer_get_(fill|stroke)_pattern(). 2025-10-15 00:12:42 +02:00