Gimp/app/tools
Alx Sa 81c67e5614 tools: Don't commit Filter Tool without a filter
The Filter Tool is a "hidden" tool that we switch to
when applying a filter. Like other tools, it commits when
we save our image. However, we may no longer have an
active filter in the tool when we do so (like, after applying
an NDE filter). Because we check the drawable from the
filter to confirm whether we should force NDE or not,
this can cause a CRITICAL when we try to access a now
non-existent filter.

This patch extends the "if (filter_tool->filter)" check to
cover the full commit check process, to prevent the bug.
2025-10-02 12:07:25 +00:00
..
gimp-tool-options-manager.c app: Make the layer auto expand options shared between tools 2023-11-25 16:19:43 +00:00
gimp-tool-options-manager.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimp-tools.c app: rename GimpContainer's "children-type" property to "child-type" 2025-07-18 08:19:13 +02:00
gimp-tools.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpairbrushtool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimpairbrushtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpalignoptions.c app, menus: vectors -> path in dialog and action identifiers 2025-07-07 16:16:48 +02:00
gimpalignoptions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpaligntool.c app: rename app/vectors/ to app/path/ 2025-07-07 15:44:15 +02:00
gimpaligntool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpbrightnesscontrasttool.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpbrightnesscontrasttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpbrushtool.c app: action names set in GimpToolControl don't need the group name appended. 2023-04-12 22:07:08 +02:00
gimpbrushtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpbucketfilloptions.c app: make GimpContainerView behave like a normal widget 2025-08-01 10:02:37 +02:00
gimpbucketfilloptions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpbucketfilltool.c tools: Prevent bucket fill on link/vector layers 2025-10-01 13:23:09 +00:00
gimpbucketfilltool.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpbycolorselecttool.c app, libgimp, pdb, plug-ins: getting rid of some GimpRGB usage. 2024-02-11 23:28:02 +01:00
gimpbycolorselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcageoptions.c
gimpcageoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcagetool.c app: add accessors for GimpDrawableFilter::temporary and use them 2025-05-31 14:14:02 +02:00
gimpcagetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcloneoptions-gui.c Issue #8102: crash when using the clone tool. 2022-04-21 19:13:01 +02:00
gimpcloneoptions-gui.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpclonetool.c app: Make the layer auto expand options shared between tools 2023-11-25 16:19:43 +00:00
gimpclonetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcoloroptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpcoloroptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcolorpickeroptions.c
gimpcolorpickeroptions.h
gimpcolorpickertool.c app, libgimpwidgets, plug-ins: GimpColorArea is now space-invaded. 2024-02-11 23:28:03 +01:00
gimpcolorpickertool.h
gimpcolortool.c app, libgimp, pdb, plug-ins: gimp_context_[gs]et_foreground() now using GeglColor. 2024-02-11 23:28:02 +01:00
gimpcolortool.h app: some more GimpRGB to GeglColor port. 2024-02-11 23:28:02 +01:00
gimpconvolvetool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimpconvolvetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcropoptions.c
gimpcropoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpcroptool.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
gimpcroptool.h
gimpcurvestool.c tools, operation: Add support for loading PS Curve presets 2025-05-22 18:52:30 +00:00
gimpcurvestool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpdodgeburntool.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpdodgeburntool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpdrawtool.c Adding on canvas text for equidistance snapping visualization 2023-07-25 15:31:16 +02:00
gimpdrawtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpeditselectiontool.c app, pdb: a lot of vectors -> path renaming 2025-07-07 13:18:02 +02:00
gimpeditselectiontool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpellipseselecttool.c
gimpellipseselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimperasertool.c
gimperasertool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfilteroptions.c app: the "color-options-expanded" filter option is now bogus. 2025-01-10 23:43:31 +01:00
gimpfilteroptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfiltertool-settings.c
gimpfiltertool-settings.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfiltertool-widgets.c app/tools: Use NDE filter's drawable for on-canvas widgets 2025-06-12 15:11:31 +00:00
gimpfiltertool-widgets.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfiltertool.c tools: Don't commit Filter Tool without a filter 2025-10-02 12:07:25 +00:00
gimpfiltertool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpflipoptions.c
gimpflipoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfliptool.c app, devel-docs, libgimp, pdb: remove item link ref in flip code. 2021-12-23 13:45:20 +01:00
gimpfliptool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpforegroundselectoptions.c app: Specify Levels meaning for translation 2024-07-14 01:31:24 +00:00
gimpforegroundselectoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpforegroundselecttool.c tools: Don't run Foreground Selection without strokes 2025-06-11 19:49:52 +00:00
gimpforegroundselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpforegroundselecttoolundo.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
gimpforegroundselecttoolundo.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfreeselecttool.c
gimpfreeselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpfuzzyselecttool.c app: rework and fix the logic for copy-pasting multiple drawables. 2022-11-12 18:28:58 +01:00
gimpfuzzyselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpgegltool.c app: Make block-listing of GIMP operations optional 2025-08-03 21:38:28 +00:00
gimpgegltool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpgenerictransformtool.c Make transform matrix selectable 2023-06-21 21:02:23 +00:00
gimpgenerictransformtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpgradientoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpgradientoptions.h
gimpgradienttool-editor.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
gimpgradienttool-editor.h
gimpgradienttool.c app: add accessors for GimpDrawableFilter::temporary and use them 2025-05-31 14:14:02 +02:00
gimpgradienttool.h
gimpguidetool.c gimpguidetool: fix somewhat pointless warning about uninitalized variable 2023-05-20 18:47:14 +02:00
gimpguidetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimphandletransformoptions.c app, libgimpwidgets: move GimpSpinScale to libgimpwidgets. 2022-02-17 23:13:42 +01:00
gimphandletransformoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimphandletransformtool.c
gimphandletransformtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimphealtool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimphealtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimphistogramoptions.c
gimphistogramoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpinkoptions-gui.c app: mark missing tool option as translatable 2024-01-18 13:20:21 +00:00
gimpinkoptions-gui.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpinktool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimpinktool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpiscissorsoptions.c
gimpiscissorsoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpiscissorstool.c tools: Close iscissors curve on pressing Enter 2025-05-11 16:23:12 +00:00
gimpiscissorstool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimplevelstool.c tools, operation: Add support for loading PS Levels presets 2025-05-22 18:52:30 +00:00
gimplevelstool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmagnifyoptions.c
gimpmagnifyoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmagnifytool.c
gimpmagnifytool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmeasureoptions.c
gimpmeasureoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmeasuretool.c Issue #434: remove broken plural support for GimpUnit. 2024-08-06 11:39:57 +02:00
gimpmeasuretool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmoveoptions.c tools: Connect MoveOptions and TransformOptions to icon size 2025-04-04 10:46:23 +00:00
gimpmoveoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpmovetool.c app, pdb: a lot of vectors -> path renaming 2025-07-07 13:18:02 +02:00
gimpmovetool.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimpmybrushoptions-gui.c core, paint, tools: Port to MyPaint Brushes2 2025-07-09 22:14:42 +00:00
gimpmybrushoptions-gui.h
gimpmybrushtool.c paint, tools: Minor fixes to MyPaint Brushes code 2025-07-10 01:39:36 +00:00
gimpmybrushtool.h
gimpnpointdeformationoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpnpointdeformationoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpnpointdeformationtool.c
gimpnpointdeformationtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpoffsettool.c pdb, operations, tool: Replace GimpContext with GeglColor... 2024-11-29 00:29:36 -05:00
gimpoffsettool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpoperationtool.c app: auxiliary input pads should have nicer names as registered by the operation. 2024-08-13 22:32:44 +00:00
gimpoperationtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppaintbrushtool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimppaintbrushtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppaintoptions-gui.c tools: Hide Force slider for Pencil Tool 2025-04-11 02:58:42 +00:00
gimppaintoptions-gui.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppaintselectoptions.c app/tools: Add shortcuts for Paint Select modes 2024-10-05 14:54:20 +00:00
gimppaintselectoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppaintselecttool.c app/tools: Add shortcuts for Paint Select modes 2024-10-05 14:54:20 +00:00
gimppaintselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppainttool-paint.c app: Blink lock when layer expansion is prevented by lock 2023-11-25 16:19:43 +00:00
gimppainttool-paint.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppainttool.c app: properly forbid paint tools to draw on link layers and forbid… 2025-08-30 10:12:17 +02:00
gimppainttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppathoptions.c app, desktop: update demo tour for vector layers. 2025-08-29 13:15:24 +02:00
gimppathoptions.h path, tools, pdb: UX updates to vector layers 2025-08-17 02:20:19 +00:00
gimppathtool.c paths, tools: Prevent CRITICAL when discarding empty vector layer 2025-08-19 00:10:22 -04:00
gimppathtool.h path, tools, pdb: UX updates to vector layers 2025-08-17 02:20:19 +00:00
gimppenciltool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimppenciltool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpperspectiveclonetool.c app: action names set in GimpToolControl don't need the group name appended. 2023-04-12 22:07:08 +02:00
gimpperspectiveclonetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpperspectivetool.c
gimpperspectivetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimppolygonselecttool.c
gimppolygonselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimprectangleoptions.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
gimprectangleoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimprectangleselectoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimprectangleselectoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimprectangleselecttool.c
gimprectangleselecttool.h
gimpregionselectoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpregionselectoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpregionselecttool.c app: mask colors are GeglColor. 2024-02-11 23:28:03 +01:00
gimpregionselecttool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimprotatetool.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
gimprotatetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpsamplepointtool.c
gimpsamplepointtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpscaletool.c
gimpscaletool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpseamlesscloneoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimpseamlesscloneoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpseamlessclonetool.c tools: Update Seamless Clone paste check 2025-07-31 14:49:35 +00:00
gimpseamlessclonetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpselectionoptions.c tools, libgimpwidgets: Connect SelectionOptions to icon size 2024-08-15 19:07:14 +00:00
gimpselectionoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpselectiontool.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
gimpselectiontool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpsheartool.c app, libgimpwidgets: move GimpSpinScale to libgimpwidgets. 2022-02-17 23:13:42 +01:00
gimpsheartool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpsmudgetool.c app: Add pattern to context props for tools supporting auto-expand 2023-11-25 16:19:43 +00:00
gimpsmudgetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpsourcetool.c app: get rid of unused variable warning. 2023-04-20 15:38:17 +02:00
gimpsourcetool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptextoptions.c app, libgimp*: more g_set_str() and some other stuff in the same 2025-07-08 00:37:26 +02:00
gimptextoptions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimptexttool-editor.c tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
gimptexttool-editor.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptexttool.c tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
gimptexttool.h tools: implement shortcuts in text tool... 2025-08-27 11:21:51 +00:00
gimpthresholdtool.c
gimpthresholdtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptilehandleriscissors.c
gimptilehandleriscissors.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptool-progress.c
gimptool-progress.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptool.c app: add some doc comment to internal API. 2022-02-02 22:42:03 +01:00
gimptool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptoolcontrol.c app: new double action "tools-mypaint-brush-pixel-size-set", used as… 2022-08-17 14:20:18 +02:00
gimptoolcontrol.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptooloptions-gui.c
gimptooloptions-gui.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptools-utils.c app, menus: vectors -> path in dialog and action identifiers 2025-07-07 16:16:48 +02:00
gimptools-utils.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransform3doptions.c
gimptransform3doptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransform3dtool.c Issue #8900 and #9923: reimplementing GimpUnit as a proper class. 2024-08-02 10:46:38 +02:00
gimptransform3dtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransformgridoptions.c app, libgimpwidgets: move gimp_prop_spin_scale_new() and… 2022-02-19 00:14:44 +01:00
gimptransformgridoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransformgridtool.c tools: Fix crash in passthrough composited preview 2025-08-15 06:03:13 +00:00
gimptransformgridtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransformgridtoolundo.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
gimptransformgridtoolundo.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransformoptions.c tools: Connect MoveOptions and TransformOptions to icon size 2025-04-04 10:46:23 +00:00
gimptransformoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptransformtool.c app: add generic support for less destructive transform tools. 2025-08-27 11:34:04 +02:00
gimptransformtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpunifiedtransformtool.c
gimpunifiedtransformtool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpwarpoptions.c app: big porting of weak pointers to g_set,clear_weak_pointer() 2023-05-22 18:16:09 +02:00
gimpwarpoptions.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimpwarptool.c app: add accessors for GimpDrawableFilter::temporary and use them 2025-05-31 14:14:02 +02:00
gimpwarptool.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
meson.build app: remove gimpvectortool,options.[ch] to gimppathtool,options.[ch] 2025-07-07 14:24:51 +02:00
tool_manager.c app, menus: rename the vector-toolpath menu stuff to tool-path 2025-07-07 16:32:20 +02:00
tool_manager.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tools-enums.c app, libgimp*: commit the newly generated *enums.c files. 2022-08-01 20:00:01 +02:00
tools-enums.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
tools-types.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00