https://issues.apache.org/ooo/show_bug.cgi?id=122453
--- Comment #8 from Andre <[email protected]> --- The wrong values for Writer are caused by out-of-date values for pool and dialog units for the spin fields. These define the units in which values are stored/exchanged and displayed. There are two different problems with that. 1) The values are initialized in the constructor of the panel. After that only meDlgUnit is updated when the SID_ATTR_METRIC slot changes its value. The value of mePoolUnit is never changed. Apparently the values are initialized too early. The value of meDlgUnit is FUNIT_NONE when the spin fields for width and height are set. This leads to values of 99,99. 2) The SID_ATTR_METRIC value is updated *after* width and height. At that time the values of the spin fields are already set. Only in combination 1 and 2 lead to an error. Setting the SID_ATTR_METRIC value should result in a conversion of the values in the width and height spin fields. This conversion does not take place because their unit is set to FUNIT_NONE. This can be fixed by setting mePoolUnit and meDlgUnit in every call to PosSizePropertyPanel::NotifyItemUpdate(). Whenever the values of the position or size controls are set, their unit is also set by a call to SetFieldUnit. This makes sure that the field units are correctly initialized. When then a little later the metric unit is modified the spin field values are correctly transformed. -- You are receiving this mail because: You are on the CC list for the bug.
