diff --git a/src/gtk/toolbar.cpp b/src/gtk/toolbar.cpp index fdb45ed270..e2f1c121ae 100644 --- a/src/gtk/toolbar.cpp +++ b/src/gtk/toolbar.cpp @@ -190,29 +190,27 @@ double BitmapProvider::GetScale() const wxBitmap BitmapProvider::Get() const { #ifdef __WXGTK3__ - wxBitmap bitmap(m_tool->GetNormalBitmap()); - if (m_tool->IsEnabled()) + if (!m_tool->IsEnabled()) { - if (bitmap.IsOk() && bitmap.GetScaleFactor() <= 1) - bitmap.UnRef(); - } - else - { - wxBitmap disabled(m_tool->GetDisabledBitmap()); + wxBitmap disabled(GetAtScale(m_tool->GetDisabledBitmapBundle())); // if no disabled bitmap and normal bitmap is scaled - if (!disabled.IsOk() && bitmap.IsOk() && bitmap.GetScaleFactor() > 1) + if (!disabled.IsOk() && IsScaled()) { // make scaled disabled bitmap from normal one - disabled = bitmap.CreateDisabled(); + wxBitmap bitmap(GetAtScale(m_tool->GetNormalBitmapBundle())); + if (bitmap.IsOk()) + disabled = bitmap.CreateDisabled(); } - bitmap = disabled; + return disabled; } + + if (IsScaled()) + return GetAtScale(m_tool->GetNormalBitmapBundle()); #else - wxBitmap bitmap; if (!m_tool->IsEnabled()) - bitmap = m_tool->GetDisabledBitmap(); + return m_tool->GetDisabledBitmap(); #endif - return bitmap; + return wxBitmap(); } } // namespace