Core: changing value in quantity spinboxes with arrow buttons broken
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 196
Description
### Problem description
If a value in a quantity spinbox is changed with the arrow buttons (or the mouse scroll wheel), the value is reset when the input loses the focus. Note that correct values can still be entered via the keyboard.
This has an impact on many FreeCAD commands. For example on PD feature previews:
https://forum.freecad.org/viewtopic.php?t=107538
### Workbench affected?
Core (App, Gui,...)
### Steps to reproduce
1. Start the Part_Primitives tool.
2. Change the length of the plane with the arrow buttons.
3. Click in the width field.
4. Result: the length has been reset to 10mm.
### Expected behavior
n/a
### Actual behavior
n/a
### Development version About Info (in Safe Mode)
```shell
OS: Ubuntu 22.04.5 LTS (ubuntu:GNOME/ubuntu/wayland)
Architecture: x86_64
Version: 26.3.0dev.20260916 (Git shallow) AppImage
Build date: 2026/09/16 06:32:59
Build type: Release
Branch: (HEAD detached at a4ce44d33)
Hash: a4ce44d33b7e42e16cb8156058a1894237042ab4
Python 3.11.14, Qt 6.8.3, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, Clipper2 , IfcOpenShell 0.8.2, OCC 7.8.1
Locale: C/Default (C) [ OS: Dutch/Netherlands (nl_NL) ]
Stylesheet/Theme/QtStyle: unset/FreeCAD Classic/
QPA/File dialog/Color dialog: xcb/via Qt/via Qt
Navigation Style/Orbit Style/Rotation Mode: CAD/Rounded Arcball/Window center
Logical DPI/Physical DPI/Pixel Ratio: 96/91.7275/1
OpenGL version/vendor/renderer: 4.5 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.4/AMD/KABINI (, LLVM 15.0.7, DRM 2.50, 6.8.0-138-generic)
Installed mods:
```
### Last known good version (optional)
```shell
```
Contributor guide
Research direction
Reproduce the issue in the Part_Primitives tool by changing a plane length with the arrow buttons or mouse wheel, then moving focus to the width field. Trace the quantity spinbox handling for focus loss; done means values changed without the keyboard remain unchanged after focus changes, including in the affected command.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100