From 028a1266feaa4d648da70ad5f2256fddda6b7aa1 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Wed, 1 Jun 2022 18:45:50 +0100 Subject: [PATCH] Don't use generated bitmaps when looking for preferred scale The already scaled bitmaps shouldn't be used for deciding to which size we can scale the bitmaps with good results, as scaling them again would definitely be a bad idea. --- src/common/bmpbndl.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/common/bmpbndl.cpp b/src/common/bmpbndl.cpp index 18c713ad65..a5300fbb9d 100644 --- a/src/common/bmpbndl.cpp +++ b/src/common/bmpbndl.cpp @@ -240,13 +240,17 @@ wxSize wxBitmapBundleImplSet::GetPreferredBitmapSizeAtScale(double scale) const const double baseY = GetDefaultSize().y; const size_t n = m_entries.size(); - wxVector scales(n); + wxVector scales; + scales.reserve(n); for ( size_t i = 0; i < n; ++i ) { - scales[i] = m_entries[i].bitmap.GetSize().y / baseY; + if ( m_entries[i].generated ) + continue; + + scales.push_back(m_entries[i].bitmap.GetSize().y / baseY); } - return DoGetPreferredSize(scale, n, &scales[0]); + return DoGetPreferredSize(scale, scales.size(), &scales[0]); } wxBitmap wxBitmapBundleImplSet::GetBitmap(const wxSize& size)