2.99.19 GEGL Plugins that have decimals as their max and minimum value are ignored by GIMP when .xcf file is reloaded
Environment/Versions
- GIMP version: 2.99.19
- Source Compiled
Description of the bug
For whatever reason if I make a GEGL plugin that has values with decimals such as
property_double (azimuth, _("Tile azimuth"), 36.0)
description (_("Emboss azimuth for for glass lines. "))
value_range (20.4, 40.4)
ui_range (20.4, 40.4)
Then practically use it in GIMP 2.99.19 with the min or max value (20.4 or 40.4 in this case) and restart GIMP the slider will go back to its default position 36.0. This was just a test example to highlight the fact that decimals as min or max values are IGNORED by GIMP when a .xcf file is reloaded
Reproduction
Unlike many bug reports before from me this one requires one of my plugins to replicate
- Download Custom Bevel plugin for GIMP
https://github.com/LinuxBeaver/GEGL-Custom-Bevel/releases
Put the binary in
Linux
/home/(USERNAME)/.local/share/gegl-0.4/plug-ins
Linux (Flatpak includes Chromebook)
/home/(USERNAME)/.var/app/org.gimp.GIMP/data/gegl-0.4/plug-ins
-
Make black text in GIMP 2.99.19
-
Open Custom Bevel and slide Up Custom Bevel's "Dark Text mode" slider
-
Save the .xcf file
-
Reload the .xcf Because it uses more then two decimal numbers GIMP will restore the default value of "dark bevel text"
- Reloading the GEGL preset restores 0.050 correctly, and duplicating the composition remembers the preset as well
Is the bug reproducible?
Always
Expected result:
GIMP reloads the min and max value regardless if it has two decimals numbers
Actual result:
GIMP resets the min/max valued decimal slider to its default property
Additional information
I consulted Pippin about this bug and Pippin told me it was GIMP not GEGL doing it. I have a huge concern in solving this bug because it relates to my plugins. Remember once again that decimals like (0.50) (0.20) don't any problem but (0.050) (0.21) (0.999) do. The bug only happens if the GEGL filter is on its minimum or max slider range.
So in this example anything will work proper except 20.4 or 40.4
value_range (20.4, 40.4) ui_range (20.4, 40.4)