|
29 | 29 | visual state into the matching parameter set, instead of overwriting the base |
30 | 30 | (normal) style with the selected style |
31 | 31 | * This preserves distinct normal and selected appearance for markers |
| 32 | +* Fixed error-bar curve cursor snapping: clicking near an error-bar bound on an |
| 33 | + `ErrorBarCurveItem` now correctly returns the closest bar end coordinate. |
| 34 | + Previously a typo (`abs(y - y)` / `abs(x - x)` instead of `abs(y - yi)` / |
| 35 | + `abs(x - xi)`) made the snap-to-bound branches dead code, so the closest |
| 36 | + coordinate was always the central curve point regardless of cursor position |
| 37 | +* Fixed image export via `Figure.print_` (`plotpy.pyplot`) leaking the underlying |
| 38 | + `QPainter`: the painter is now always released, even when an axis fails to |
| 39 | + render. This avoids "QPainter::begin: A paint device can only be painted by |
| 40 | + one painter at a time" warnings, GDI/GL resource leaks, and truncated output |
| 41 | + files on subsequent paints |
| 42 | +* Fixed `vector_projection` raising a division-by-zero warning and returning NaN |
| 43 | + coordinates when the two reference points A and B coincided. The function now |
| 44 | + detects the degenerate zero-length AB vector and returns point B |
| 45 | +* Fixed `scale_data_to_dtype` (`plotpy.io`) producing NaN values when the input |
| 46 | + array was constant (`dmax == dmin`). The function now returns a finite |
| 47 | + constant array set to the target dtype's minimum value instead of dividing by |
| 48 | + zero |
| 49 | +* Fixed `get_nan_min` / `get_nan_max` (`plotpy.mathutils.arrayfuncs`) raising |
| 50 | + `ValueError` on empty arrays and emitting `RuntimeWarning` on all-NaN inputs. |
| 51 | + Both helpers now return NaN for empty or fully-NaN arrays without warnings |
32 | 52 |
|
33 | 53 | 🔧 Other changes: |
34 | 54 |
|
|
0 commit comments