diff --git a/vcl/inc/qt5/QtInstanceButton.hxx b/vcl/inc/qt5/QtInstanceButton.hxx index 6dc004f83f8f..3692b2476302 100644 --- a/vcl/inc/qt5/QtInstanceButton.hxx +++ b/vcl/inc/qt5/QtInstanceButton.hxx @@ -40,6 +40,9 @@ public: QAbstractButton& getButton() const; +private: + void setImage(const QPixmap& rPixmap); + private slots: void buttonClicked(); }; diff --git a/vcl/qt5/QtInstanceButton.cxx b/vcl/qt5/QtInstanceButton.cxx index 87935e64764c..5196ea401bed 100644 --- a/vcl/qt5/QtInstanceButton.cxx +++ b/vcl/qt5/QtInstanceButton.cxx @@ -34,28 +34,27 @@ void QtInstanceButton::set_label(const OUString& rText) [&] { m_pButton->setText(vclToQtStringWithAccelerator(rText)); }); } -void QtInstanceButton::set_image(VirtualDevice* pDevice) +void QtInstanceButton::setImage(const QPixmap& rPixmap) { SolarMutexGuard g; - GetQtInstance().RunInMainThread([&] { - if (pDevice) - m_pButton->setIcon(toQPixmap(*pDevice)); - }); + + GetQtInstance().RunInMainThread([&] { m_pButton->setIcon(rPixmap); }); +} + +void QtInstanceButton::set_image(VirtualDevice* pDevice) +{ + if (pDevice) + setImage(toQPixmap(*pDevice)); } void QtInstanceButton::set_image(const css::uno::Reference& rImage) { - SolarMutexGuard g; - GetQtInstance().RunInMainThread([&] { m_pButton->setIcon(toQPixmap(rImage)); }); + setImage(toQPixmap(rImage)); } void QtInstanceButton::set_from_icon_name(const OUString& rIconName) { - SolarMutexGuard g; - GetQtInstance().RunInMainThread([&] { - QPixmap aIcon = loadQPixmapIcon(rIconName); - m_pButton->setIcon(aIcon); - }); + setImage(loadQPixmapIcon(rIconName)); } OUString QtInstanceButton::get_label() const