summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-11-15 17:16:19 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-11-15 21:55:51 +0100
commit973a3dd9623107c18c6765d0b247aa34018a0447 (patch)
tree2deca02c8fdef7fa347cafdc9c9c217ac41398a4 /vcl
parent1d988778095ecbe84f1a1002511377d0708b3443 (diff)
force rerender on unit change
Change-Id: I7a64b2e200bf0c50ea636be8aac1249713044103 Reviewed-on: https://gerrit.libreoffice.org/63438 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/builder.cxx18
1 files changed, 11 insertions, 7 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 95a1fb996cd4..b2dbeba41233 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -256,13 +256,17 @@ namespace weld
void MetricSpinButton::set_unit(FieldUnit eUnit)
{
- int step, page;
- get_increments(step, page, m_eSrcUnit);
- int value = get_value(m_eSrcUnit);
- m_eSrcUnit = eUnit;
- set_increments(step, page, m_eSrcUnit);
- set_value(value, m_eSrcUnit);
- update_width_chars();
+ if (eUnit != m_eSrcUnit)
+ {
+ int step, page;
+ get_increments(step, page, m_eSrcUnit);
+ int value = get_value(m_eSrcUnit);
+ m_eSrcUnit = eUnit;
+ set_increments(step, page, m_eSrcUnit);
+ set_value(value, m_eSrcUnit);
+ spin_button_output(*m_xSpinButton);
+ update_width_chars();
+ }
}
int MetricSpinButton::ConvertValue(int nValue, FieldUnit eInUnit, FieldUnit eOutUnit) const