10-25-2022, 04:35 PM
(This post was last modified: 10-25-2022, 04:51 PM by programmer_ceds.)
The issue with gimp-image-get-active-vectors being removed is solved in a recent 2.99.13 commit by the introduction of the function gimp-image-get-selected-vectors.
Further good news is that the offsetting required to get arrows drawn correctly on layers that are offset from the image origin in V2.10 is not required in V2.99.13 - at least almost all of the changes required for V2.10 are not required. However, stroking a path on to an offset layer inV2.99.12 or V2.99.13 subtracts the offset of the layer from the path - hence the arrow shaft is drawn in the wrong place. If this only applied to the arrow script I would add code to work around this but the problem also seems to affect using the standard GIMP Stroke Path dialog. Also the standard Stroke Selection suffers from the same problem. I have changed the relevant two functions in my self-build version of 2.99.13 and the problems are fixed. I have created a GIMP issue with a file to demonstrate the problem. One of the developers has reproduced the problem using the file that I included with the issue but says that he failed to reproduce it when he created a file from scratch. I can't find a way to make the problem not appear.
My request is therefore, if you are interested in seeing a V2.99/V3 version of the arrow script can anyone get the problem not to appear? If so please let me have a copy of the file that shows the problem not appearing (if that makes sense).
The GIMP issue describes the steps that I took to demonstrate the problem - using V2.99.12 should show the problem, you don't need V2.99.13.
https://gitlab.gnome.org/GNOME/gimp/-/issues/8767
If we can't find a procedure to make the problem not occur then perhaps the developer was mistaken in what they saw. Alternatively if we can determine the procedure whereby the problem doesn't appear then perhaps I can work around it in the script.
If this can be sorted there will be a version of the arrow script for V2.99.14
As noted in the GIMP issue the path or selection has to be stroked with a paint tool - the problem doesn't occur if the "Stroke line" option is selected.
Further good news is that the offsetting required to get arrows drawn correctly on layers that are offset from the image origin in V2.10 is not required in V2.99.13 - at least almost all of the changes required for V2.10 are not required. However, stroking a path on to an offset layer inV2.99.12 or V2.99.13 subtracts the offset of the layer from the path - hence the arrow shaft is drawn in the wrong place. If this only applied to the arrow script I would add code to work around this but the problem also seems to affect using the standard GIMP Stroke Path dialog. Also the standard Stroke Selection suffers from the same problem. I have changed the relevant two functions in my self-build version of 2.99.13 and the problems are fixed. I have created a GIMP issue with a file to demonstrate the problem. One of the developers has reproduced the problem using the file that I included with the issue but says that he failed to reproduce it when he created a file from scratch. I can't find a way to make the problem not appear.
My request is therefore, if you are interested in seeing a V2.99/V3 version of the arrow script can anyone get the problem not to appear? If so please let me have a copy of the file that shows the problem not appearing (if that makes sense).
The GIMP issue describes the steps that I took to demonstrate the problem - using V2.99.12 should show the problem, you don't need V2.99.13.
https://gitlab.gnome.org/GNOME/gimp/-/issues/8767
If we can't find a procedure to make the problem not occur then perhaps the developer was mistaken in what they saw. Alternatively if we can determine the procedure whereby the problem doesn't appear then perhaps I can work around it in the script.
If this can be sorted there will be a version of the arrow script for V2.99.14
As noted in the GIMP issue the path or selection has to be stroked with a paint tool - the problem doesn't occur if the "Stroke line" option is selected.