David Mann and Claude Opus 5.5
b87180e14e
Swatches: reject colour values beyond f32 range so presets survive a restart ( #4150 ) ( #4118 )
...
Root cause: SwatchColor::from_param checked that each value was finite as
an f64, then cast it to f32. A value like 1e39 became inf, and an HSB hue
then wrapped (rem_euclid) to NaN. swatches.add stored Hsb([NaN, ..]), the
prefs file wrote it as null, and on the next launch load_presets_json
failed to parse the whole presets blob, so every user gradient, style,
shape, tool/document preset and swatch fell back to the defaults.
Fix: reject values whose magnitude exceeds f32::MAX with BadParams, for
every colour model.
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-12 20:37:07 -04:00
..
2026-10-12 00:46:56 -04:00
2026-10-12 19:12:35 -04:00
2026-10-12 18:39:57 -04:00
2026-10-12 19:47:14 -04:00
2026-10-11 10:05:13 -04:00
2026-10-12 09:32:37 -04:00
2026-10-11 21:40:06 -04:00
2026-10-11 19:33:15 -04:00
2026-10-12 19:44:04 -04:00
2026-10-11 16:19:40 -04:00
2026-10-11 23:02:59 -04:00
2026-10-12 08:47:05 -04:00
2026-10-12 19:24:17 -04:00
2026-10-12 00:54:41 -04:00
2026-10-12 08:33:28 -04:00
2026-10-12 20:37:07 -04:00
2026-10-12 07:36:25 +02:00
2026-10-12 20:05:09 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 20:37:07 -04:00
2026-10-11 22:30:26 -04:00
2026-10-12 01:26:37 -04:00
2026-10-11 23:18:52 -06:00
2026-10-12 19:12:35 -04:00
2026-10-12 19:12:35 -04:00
2026-10-12 19:55:21 -04:00
2026-10-12 05:44:48 +02:00
2026-10-12 07:04:33 -04:00
2026-10-12 00:46:56 -04:00
2026-10-12 19:12:35 -04:00
2026-10-11 23:18:52 -06:00
2026-10-12 07:04:33 -04:00
2026-10-12 20:05:09 -04:00
2026-10-12 09:17:43 -04:00
2026-10-12 08:33:28 -04:00
2026-10-11 10:05:13 -04:00
2026-10-11 11:06:57 -04:00
2026-10-12 19:02:15 -04:00
2026-10-11 17:43:30 -04:00
2026-10-12 18:34:59 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 19:39:55 -04:00
2026-10-11 15:14:49 -04:00
2026-10-12 18:39:57 -04:00
2026-10-12 07:04:33 -04:00
2026-10-11 22:17:17 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 00:11:10 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 19:54:16 -04:00
2026-10-12 19:44:04 -04:00
2026-10-12 19:54:16 -04:00
2026-10-12 19:39:55 -04:00
2026-10-12 06:28:55 -04:00
2026-10-12 19:30:58 -04:00
2026-10-12 08:33:50 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 07:04:33 -04:00
2026-10-11 22:30:26 -04:00
2026-10-12 00:46:56 -04:00
2026-10-12 07:49:26 -04:00
2026-10-12 19:12:35 -04:00
2026-10-12 00:35:56 -04:00
2026-10-11 15:55:11 -04:00
2026-10-12 07:36:25 +02:00
2026-10-12 07:04:33 -04:00
2026-10-12 19:55:05 -04:00
2026-10-12 18:39:57 -04:00
2026-10-12 08:52:45 -04:00
2026-10-12 20:05:09 -04:00
2026-10-11 09:03:05 -04:00
2026-10-12 19:24:17 -04:00
2026-10-11 18:01:12 -04:00
2026-10-12 19:54:16 -04:00
2026-10-12 10:06:16 -04:00
2026-10-11 09:16:18 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 19:55:21 -04:00
2026-10-12 19:55:21 -04:00
2026-10-12 19:00:03 -04:00
2026-10-11 22:25:31 -04:00
2026-10-12 07:36:25 +02:00
2026-10-12 20:05:09 -04:00
2026-10-11 11:43:09 -04:00
2026-10-11 22:52:08 -04:00
2026-10-12 07:04:33 -04:00
2026-10-12 07:04:33 -04:00
2026-10-11 15:16:45 -04:00
2026-10-11 10:05:13 -04:00
2026-10-12 09:42:58 -04:00
2026-10-12 19:02:15 -04:00
2026-10-12 07:48:03 -04:00
2026-10-12 07:48:03 -04:00
2026-10-11 16:31:51 -04:00
2026-10-11 21:01:26 -04:00
2026-10-11 17:18:39 -04:00
2026-10-12 01:26:37 -04:00
2026-10-11 22:02:04 -04:00
2026-10-12 07:04:33 -04:00
2026-10-11 23:18:52 -06:00