Gimp/app/tools
Alx Sa ed7f53b7a6 tools: Don't update position if no prior moves
Resolves #12755
gimp_edit_selection_tool_active_modifier_key () assumed
that if you press a modifier key while a selection/move tool
is active, we should move the selected item to the last place
recorded. However, it's possible to run this function before
we've moved anything, thus defaulting the "original position"
to 0, 0.
This is most noticeable in the Move Tool, where pressing Ctrl
or Shift after clicking a layer but before moving it will cause
the layer to "jump" based on where the cursor is placed on the
item.
This patch adds an additional condition to the motion function
in gimp_edit_selection_tool_active_modifier_key (), so that
we only do it if we've already moved the cursor at least once.
2025-11-22 05:17:00 +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: globally block editing vector and link layers. 2025-10-08 23:21:59 +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 app: globally block editing vector and link layers. 2025-10-08 23:21:59 +02: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 app: GimpFilterTool displays a "Sample merged" checkbox. 2020-09-26 12:40:54 +02:00
gimpcolorpickeroptions.h
gimpcolorpickertool.c app: globally block editing vector and link layers. 2025-10-08 23:21:59 +02: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 gui: Update text of 'Crop tool' option to 'Selected layers only' 2021-02-25 23:02:04 +06:00
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 tools: Don't update position if no prior moves 2025-11-22 05:17:00 +00: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 Issue #15206: do not initialize transform tools when swapping tools… 2025-11-08 11:26:04 +01: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 app: globally block editing vector and link layers. 2025-10-08 23:21:59 +02:00
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 app: globally block editing vector and link layers. 2025-10-08 23:21:59 +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: globally block editing vector and link layers. 2025-10-08 23:21:59 +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 tools: Fix missing cursor for MyPaint Brush tool 2025-10-03 22:14:52 +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: globally block editing vector and link layers. 2025-10-08 23:21:59 +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 app: edit vector layer with path tool as default edit action. 2025-10-22 19:33:58 +02:00
gimppathtool.h app: improve layer and path selection logic. 2025-10-15 21:07:55 +02: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: globally block editing vector and link layers. 2025-10-08 23:21:59 +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 libgimpwidgets, theme: Group radio buttons together 2025-11-15 02:50:17 +00:00
gimptextoptions.h app, pdb, libgimp: use "#pragma once" instead of: 2025-07-13 03:21:37 +02:00
gimptexttool-editor.c tools: prevent on-canvas text editor from being dragged outside the image bounds 2025-10-31 15:39:10 +01:00
gimptexttool-editor.h app: #pragma once in app/tools 2025-07-13 09:26:04 +02:00
gimptexttool.c tools: destry text style editor each time a textbox is selected 2025-10-31 15:39:10 +01:00
gimptexttool.h move style_overlay_offset_[xy] to text_layer 2025-10-31 15:39:10 +01: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: show a menu path to advertize how to "Rasterize" and blink the selected layer. 2025-10-15 14:57:36 +02:00
gimptool.h app: globally block editing vector and link layers. 2025-10-08 23:21:59 +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: show a menu path to advertize how to "Rasterize" and blink the selected layer. 2025-10-15 14:57:36 +02:00
gimptools-utils.h app: show a menu path to advertize how to "Rasterize" and blink the selected layer. 2025-10-15 14:57:36 +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: globally block editing vector and link layers. 2025-10-08 23:21:59 +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 Declare gexiv2 dependency on many targets (due to gimpmetadata.h) 2025-10-03 18:31:53 -03:00
tool_manager.c Issue #15206: do not initialize transform tools when swapping tools… 2025-11-08 11:26:04 +01:00
tool_manager.h Issue #15206: do not initialize transform tools when swapping tools… 2025-11-08 11:26:04 +01: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