Version: 1.4 (using KDE Devel) Installed from: Compiled sources KoUnitDoubleSpinBox has a setValue(double) and a value() method; as they are used in kword/framedia.cc (KWFourSideConfigWidget) It appears that the setter expects a value already converted using KoUnit, while the getter returns a pre-converted value. This breaks a very simple concept that setValue(1.0); value() == 1.0 sould be true. I recommend looking into this and probably refactor some code to make sure this is consistent after 1.4 is released. Note that I found some 100 usages of the class on a quick grep.
I am sorry that I had started to change that code and that I have never found time to finish it.
I have now changed KoUnitDoubleSpinBox into KoBuggyUnitDoubleSpinBox and introduced KoUnitDoubleSpinBox2. The second one is supposed to be correct. All maintainers now have to fix their usage. In many cases it should be enough to use the Ko...SpinBox2 instead of KoBuggy...Box. When all usage of the old, buggy class has gone, we can merge the two classes and rename it into KoUnitDoubleSpinBox again.
SVN commit 428323 by ingwa: Apply the patch to KoUnitDoubleSpinBox, renaming it into KoBuggyUnitDoubleSpinBox, to branch as well. Now the long work of actually fixing all the usages commences. CCBUG: 106011 M +4 -4 karbon/dialogs/vconfiguredlg.cc M +5 -5 karbon/dialogs/vconfiguredlg.h M +1 -1 karbon/dialogs/vstrokedlg.cc M +2 -2 karbon/dialogs/vstrokedlg.h M +1 -1 karbon/dockers/vstrokedocker.cc M +2 -2 karbon/dockers/vstrokedocker.h M +4 -4 karbon/dockers/vtransformdocker.cc M +5 -5 karbon/dockers/vtransformdocker.h M +2 -0 karbon/tools/vellipsetool.cc M +4 -2 karbon/tools/vellipsetool.h M +1 -0 karbon/tools/vpolygontool.cc M +2 -0 karbon/tools/vpolygontool.h M +2 -1 karbon/tools/vrectangletool.cc M +3 -1 karbon/tools/vrectangletool.h M +1 -1 karbon/tools/vroundrecttool.h M +2 -0 karbon/tools/vsinustool.cc M +3 -1 karbon/tools/vsinustool.h M +1 -0 karbon/tools/vspiraltool.cc M +2 -0 karbon/tools/vspiraltool.h M +2 -0 karbon/tools/vstartool.cc M +2 -0 karbon/tools/vstartool.h M +4 -4 karbon/widgets/vselecttoolbar.cc M +5 -5 karbon/widgets/vselecttoolbar.h M +4 -4 kivio/kiviopart/kivio_stencil_geometry_panel.cpp M +2 -2 kivio/kiviopart/kivio_stencil_geometry_panel.h M +1 -1 kivio/kiviopart/kivio_view.h M +4 -4 kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp M +5 -5 kivio/kiviopart/ui/kivioarrowheadformatdlg.h M +5 -5 kivio/kiviopart/ui/kiviooptionsdialog.cpp M +6 -6 kivio/kiviopart/ui/kiviooptionsdialog.h M +1 -1 kivio/kiviopart/ui/kiviostencilformatdlg.cpp M +2 -2 kivio/kiviopart/ui/kiviostencilformatdlg.h M +1 -1 kword/configfootnotedia.cc M +2 -2 kword/configfootnotedia.h M +9 -9 kword/framedia.cc M +2 -2 kword/framedia.h M +5 -5 kword/kwconfig.cc M +5 -5 kword/kwconfig.h M +1 -1 kword/resizetabledia.cc M +2 -2 kword/resizetabledia.h M +5 -2 lib/kofficecore/koDocument.cc M +33 -7 lib/kofficeui/koUnitWidgets.cc M +19 -3 lib/kofficeui/koUnitWidgets.h M +2 -2 lib/kofficeui/kolinewidthaction.cpp
SVN commit 457470 by ingwa: Fix bug 106011: KoUnitDoubleSpinBox has a design flaw This fix: - removes KoBuggyUnitDoubleSpinBox - renames KoUnitDoubleSpinBox2 into KoUnitDoubleSpinBox. - makes all of koffice use KoUnitDoubleSpinBox as it was originally designed. I will backport it into the 1.4 branch. BUG: 106011 M +4 -4 karbon/dialogs/vconfiguredlg.cc M +5 -5 karbon/dialogs/vconfiguredlg.h M +1 -1 karbon/dialogs/vstrokedlg.cc M +2 -2 karbon/dialogs/vstrokedlg.h M +1 -1 karbon/dockers/vstrokedocker.cc M +2 -2 karbon/dockers/vstrokedocker.h M +4 -4 karbon/dockers/vtransformdocker.cc M +5 -5 karbon/dockers/vtransformdocker.h M +2 -2 karbon/tools/vellipsetool.cc M +3 -3 karbon/tools/vellipsetool.h M +1 -1 karbon/tools/vpolygontool.cc M +3 -3 karbon/tools/vpolygontool.h M +2 -2 karbon/tools/vrectangletool.cc M +3 -3 karbon/tools/vrectangletool.h M +1 -1 karbon/tools/vroundrecttool.h M +2 -2 karbon/tools/vsinustool.cc M +3 -3 karbon/tools/vsinustool.h M +1 -1 karbon/tools/vspiraltool.cc M +3 -3 karbon/tools/vspiraltool.h M +2 -2 karbon/tools/vstartool.cc M +4 -4 karbon/tools/vstartool.h M +4 -4 karbon/widgets/vselecttoolbar.cc M +5 -5 karbon/widgets/vselecttoolbar.h M +4 -4 kivio/kiviopart/kivio_stencil_geometry_panel.cpp M +2 -2 kivio/kiviopart/kivio_stencil_geometry_panel.h M +4 -4 kivio/kiviopart/ui/kivioarrowheadformatdlg.cpp M +5 -5 kivio/kiviopart/ui/kivioarrowheadformatdlg.h M +5 -5 kivio/kiviopart/ui/kiviooptionsdialog.cpp M +6 -6 kivio/kiviopart/ui/kiviooptionsdialog.h M +1 -1 kivio/kiviopart/ui/kiviostencilformatdlg.cpp M +2 -2 kivio/kiviopart/ui/kiviostencilformatdlg.h M +1 -1 kword/configfootnotedia.cc M +2 -2 kword/configfootnotedia.h M +9 -9 kword/framedia.cc M +2 -2 kword/framedia.h M +5 -5 kword/kwconfig.cc M +5 -5 kword/kwconfig.h M +4 -0 kword/kwtableframeset.cc M +1 -1 kword/resizetabledia.cc M +2 -2 kword/resizetabledia.h M +25 -41 lib/kofficeui/koUnitWidgets.cc M +13 -20 lib/kofficeui/koUnitWidgets.h M +2 -2 lib/kofficeui/kolinewidthaction.cpp
Now the fix is backported to 1.4 branch as well.