From 58d8a11a1b44d5f07c43f96c7e4ab03dc549ef27 Mon Sep 17 00:00:00 2001 From: Rodolfo Ribeiro Gomes Date: Sat, 14 Sep 2013 19:27:50 -0300 Subject: [PATCH] Theme icons are loaded only once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the theme icon cleaning commit d5151ab592367fde7db03fce81e0b76776d18216, duplicated icons (same icon for multiple actions) doesn't need to be stored in different files. The file links.txt inside the theme pack can handle filename redirections. So, it keeps the theme pack smaller. However, the duplicates keep being loaded, because they use different names. With this patch, the names of those duplicates are mapped also when querying for the icons. This way, an icon is loaded only once, saving RAM. Change-Id: Ieb5b8424c1515f0033276bf314cdef02a4e01862 Signed-off-by: Rodolfo Ribeiro Gomes Reviewed-on: https://gerrit.libreoffice.org/5943 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- vcl/source/gdi/impimagetree.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/vcl/source/gdi/impimagetree.cxx b/vcl/source/gdi/impimagetree.cxx index 4d549f04e92e..1c676676ba16 100644 --- a/vcl/source/gdi/impimagetree.cxx +++ b/vcl/source/gdi/impimagetree.cxx @@ -270,13 +270,12 @@ bool ImplImageTree::checkStyleCacheLookup( bool ImplImageTree::iconCacheLookup( OUString const & name, bool localized, BitmapEx & bitmap) { - IconCache::iterator i(m_iconCache.find(name)); + IconCache::iterator i(m_iconCache.find(getRealImageName(name))); if (i != m_iconCache.end() && i->second.first == localized) { bitmap = i->second.second; return true; - } else { - return false; } + return false; } bool ImplImageTree::find(