diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-04-25 15:55:31 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-04-25 18:09:24 +0200 |
commit | cf1a41c45abd28fb8ef5613338fcb9807d244f9d (patch) | |
tree | 03b23fe52f78d2226b3deaf5bb5fdebbb80fd5c3 /svtools | |
parent | b97116791047f89b768ab4aa8126e543df826be3 (diff) |
Resolves: tdf#141441 get and set selected entry when "unfrozen"
Change-Id: I4229460fb27ae3dc133c0f6a53c7792a87bf4db3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133389
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/control/ctrlbox.cxx | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx index d679b7c46160..411a2dd4961d 100644 --- a/svtools/source/control/ctrlbox.cxx +++ b/svtools/source/control/ctrlbox.cxx @@ -844,9 +844,10 @@ FontStyleBox::FontStyleBox(std::unique_ptr<weld::ComboBox> p) void FontStyleBox::Fill( std::u16string_view rName, const FontList* pList ) { - m_xComboBox->freeze(); OUString aOldText = m_xComboBox->get_active_text(); int nPos = m_xComboBox->get_active(); + + m_xComboBox->freeze(); m_xComboBox->clear(); // does a font with this name already exist? @@ -949,19 +950,6 @@ void FontStyleBox::Fill( std::u16string_view rName, const FontList* pList ) if ( bNormal || bItalic || bBold ) m_xComboBox->append_text(pList->GetBoldItalicStr()); } - if (!aOldText.isEmpty()) - { - int nFound = m_xComboBox->find_text(aOldText); - if (nFound != -1) - m_xComboBox->set_active(nFound); - else - { - if (nPos >= m_xComboBox->get_count()) - m_xComboBox->set_active(0); - else - m_xComboBox->set_active(nPos); - } - } } else { @@ -970,7 +958,16 @@ void FontStyleBox::Fill( std::u16string_view rName, const FontList* pList ) m_xComboBox->append_text(pList->GetItalicStr()); m_xComboBox->append_text(pList->GetBoldStr()); m_xComboBox->append_text(pList->GetBoldItalicStr()); - if (!aOldText.isEmpty()) + } + + m_xComboBox->thaw(); + + if (!aOldText.isEmpty()) + { + int nFound = m_xComboBox->find_text(aOldText); + if (nFound != -1) + m_xComboBox->set_active(nFound); + else { if (nPos >= m_xComboBox->get_count()) m_xComboBox->set_active(0); @@ -978,7 +975,6 @@ void FontStyleBox::Fill( std::u16string_view rName, const FontList* pList ) m_xComboBox->set_active(nPos); } } - m_xComboBox->thaw(); } FontSizeBox::FontSizeBox(std::unique_ptr<weld::ComboBox> p) |