Gimp/app/actions
Jehan 05e90b1cde app: optimize the detection of filters with aux input.
As reported by Liam, apparently for someone with a lot of filters, these
node creations just to check the aux input may add up noticeable time on
boot (it may also depend on the OS too? I didn't have any noticeable
delay personally).

Unfortunately we cannot know the presence of an aux input just with
class introspection because they can be registered by the op at runtime.

This optimization is therefore twofold:

* Since we know which filters have an aux input among all the ones with
  hardcoded actions, we also hardcode this data. It means we only do the
  actual check on non-hardcoded operations (third-party filters but also
  GEGL operations which are not specifically listed in our code).
* I only do these checks once, stored by name in a hash table, because
  filters_actions_setup() is actually run several times (for different
  menus).

This should improve startup time a lot for people who experienced this
delay.
2025-09-03 18:38:16 +02:00
..
actions-types.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
actions.c app: optimize the detection of filters with aux input. 2025-09-03 18:38:16 +02:00
actions.h app: optimize the detection of filters with aux input. 2025-09-03 18:38:16 +02:00
brush-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
brush-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
brushes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
brushes-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
buffers-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
buffers-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
buffers-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
buffers-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
channels-actions.c actions: move top and bottom item check code 2024-07-18 17:57:17 +00:00
channels-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
channels-commands.c Issue #11808: The RGBA channels cannot be duplicated anymore or used with… 2024-09-15 17:14:37 +02:00
channels-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
colormap-actions.c app: work with a GimpPalette rather than a colormap. 2024-02-11 23:28:03 +01:00
colormap-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
colormap-commands.c app: work with a GimpPalette rather than a colormap. 2024-02-11 23:28:03 +01:00
colormap-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
context-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
context-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
context-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
context-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
cursor-info-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
cursor-info-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
cursor-info-commands.c
cursor-info-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dashboard-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dashboard-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dashboard-commands.c actions: Add timestamp to default performance log filename 2025-01-31 03:46:41 +00:00
dashboard-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
data-commands.c app: rename gimp_data_factory_view_get_children_type() to _get_child_type() 2025-07-18 08:19:13 +02:00
data-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
data-editor-commands.c
data-editor-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
debug-actions.c app: make debug menu translatable 2023-07-10 14:58:49 +00:00
debug-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
debug-commands.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
debug-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dialogs-actions.c app, menus: vectors -> path in dialog and action identifiers 2025-07-07 16:16:48 +02:00
dialogs-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dialogs-commands.c
dialogs-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dock-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dock-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dock-commands.c
dock-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dockable-actions.c actions: Hide Preview Size dockable option if not needed 2024-04-13 01:43:31 +00:00
dockable-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dockable-commands.c
dockable-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
documents-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
documents-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
documents-commands.c actions: Fix "Raise or Open" to actually raise 2023-06-21 20:10:12 +00:00
documents-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
drawable-actions.c actions: Use layer for lock check when mask is active 2025-07-30 03:36:38 +00:00
drawable-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
drawable-commands.c app: get rid of return_if_no_drawable() macro and… 2022-11-09 01:24:34 +01:00
drawable-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dynamics-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dynamics-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
dynamics-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
dynamics-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
edit-actions.c app: add help ids for Paste as floating data (in place)... 2024-11-01 17:25:27 -04:00
edit-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
edit-commands.c app: rename app/vectors/ to app/path/ 2025-07-07 15:44:15 +02:00
edit-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
error-console-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
error-console-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
error-console-commands.c app, libgimpwidgets, plug-ins: add tooltip arg to gimp_help_connect(). 2024-08-24 23:29:39 +02:00
error-console-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
file-actions.c app: Give Open as Link Layer it's own help id 2025-08-28 12:18:05 -04:00
file-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
file-commands.c Issue #14759: link layers (of vector files) initial dimensions will fill… 2025-08-28 23:13:03 +02:00
file-commands.h app, menus, pdb: new file-open-as-link-layers action. 2025-08-27 11:34:04 +02:00
filters-actions.c app: optimize the detection of filters with aux input. 2025-09-03 18:38:16 +02:00
filters-actions.h app: Separate GEGL op blacklist based on filter actions 2025-08-03 21:38:28 +00:00
filters-commands.c Issue #12576: crash when applying filter from history after an edit. 2024-12-18 13:53:52 +01:00
filters-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
fonts-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
fonts-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpgeglprocedure.c Issue #12825: generate a help ID for any operation with "gimp:menu-path" key. 2025-02-21 22:53:37 +01:00
gimpgeglprocedure.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gradient-editor-actions.c actions: Load menu colors for Gradient Editor 2024-10-26 03:10:22 +00:00
gradient-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gradient-editor-commands.c app: GimpGradient now uses GeglColor. 2024-02-11 23:28:03 +01:00
gradient-editor-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gradients-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
gradients-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gradients-commands.c app, libgimpwidgets, plug-ins: add tooltip arg to gimp_help_connect(). 2024-08-24 23:29:39 +02:00
gradients-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
help-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
help-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
help-commands.c
help-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
image-actions.c app: better help ids for soft-proofing related Image commands 2025-02-06 11:45:34 -05:00
image-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
image-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
image-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
images-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
images-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
images-commands.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
images-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
items-actions.c widgets: Port gimp_get_color_tag_color ()... 2024-04-02 04:00:50 +00:00
items-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
items-commands.c app: fix non-properly matching gimp_image_undo_group_start/end() calls. 2023-04-12 22:07:07 +02:00
items-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
layers-actions.c app: add "..." to Fill/Stroke command 2025-08-28 13:18:32 -04:00
layers-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
layers-commands.c app: add help ids for vector layer commands 2025-08-28 13:17:16 -04:00
layers-commands.h app: new link layers. 2025-08-27 11:34:03 +02:00
meson.build app, menus: rename the vector-toolpath menu stuff to tool-path 2025-07-07 16:32:20 +02:00
mypaint-brushes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
mypaint-brushes-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
palette-editor-actions.c app, libgimp*, plug-ins: GimpColorButton now space-invaded. 2024-02-11 23:28:03 +01:00
palette-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
palette-editor-commands.c actions: Select next palette entry after deletion 2025-06-19 18:57:08 +00:00
palette-editor-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
palettes-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
palettes-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
palettes-commands.c app: make GimpContainerView behave like a normal widget 2025-08-01 10:02:37 +02:00
palettes-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
paths-actions.c app: add help ids for vector layer commands 2025-08-28 13:17:16 -04:00
paths-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
paths-commands.c path, tools, pdb: UX updates to vector layers 2025-08-17 02:20:19 +00:00
paths-commands.h vectors: Implement vector layers from GSoC 2006 2025-08-17 02:20:19 +00:00
patterns-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
patterns-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
plug-in-actions.c app: fix plug-in procedure sensitivity with no image types set. 2025-02-14 19:52:39 +01:00
plug-in-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
plug-in-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
plug-in-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
procedure-commands.c actions: Fix missing argument length check 2025-06-04 13:52:55 +00:00
procedure-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
quick-mask-actions.c app, libgimp*, plug-ins: GimpColorButton now space-invaded. 2024-02-11 23:28:03 +01:00
quick-mask-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
quick-mask-commands.c app, libgimp, pdb, plug-ins: move more code to GeglColor. 2024-02-11 23:28:02 +01:00
quick-mask-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
sample-points-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
sample-points-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
sample-points-commands.c
sample-points-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
select-actions.c Issue #10153: introducing new floating data actions. 2023-11-11 16:40:44 +01:00
select-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
select-commands.c app: lower the upper limit for feather selection 2024-08-18 17:40:02 +00:00
select-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
templates-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
templates-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
templates-commands.c app, pdb: rename gimp_container_get_children_type() to get_child_type() 2025-07-18 08:19:13 +02:00
templates-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
text-editor-actions.c Issue #12021: Text editor Open and Clear buttons disabled and without icons. 2024-09-11 15:24:20 +02:00
text-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
text-editor-commands.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
text-editor-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
text-tool-actions.c tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
text-tool-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
text-tool-commands.c tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
text-tool-commands.h tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
tool-options-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-options-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-options-commands.c
tool-options-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-path-actions.c app, menus: rename the vector-toolpath menu stuff to tool-path 2025-07-07 16:32:20 +02:00
tool-path-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-path-commands.c app, menus: rename the vector-toolpath menu stuff to tool-path 2025-07-07 16:32:20 +02:00
tool-path-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-preset-editor-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-preset-editor-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-preset-editor-commands.c
tool-preset-editor-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-presets-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
tool-presets-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tool-presets-commands.c
tool-presets-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tools-actions.c Add terminating NULLs to the tools accelerator arrays 2023-07-20 22:59:51 +01:00
tools-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tools-commands.c Fix Tools Shortcuts 2023-07-25 21:33:28 +00:00
tools-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
view-actions.c app, menus: vectors -> path in dialog and action identifiers 2025-07-07 16:16:48 +02:00
view-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
view-commands.c app, pdb: a lot of vectors -> path renaming 2025-07-07 13:18:02 +02:00
view-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
window-actions.c app: get rid of dummy "*-menu" and "*-popup" actions. 2023-04-20 15:36:11 +02:00
window-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
window-commands.c app, plug-ins: mark missing strings as translatable 2023-12-13 17:44:35 +00:00
window-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
windows-actions.c app: add "gint old_index" argument to GimpContainer::reorder() 2025-08-08 17:02:32 +02:00
windows-actions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
windows-commands.c
windows-commands.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00