From 1469a7d3feb671a3e246b2aebda3e26bb9ca5858 Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Sat, 10 Nov 2018 03:40:25 -0500 Subject: Store pixbufs instead of names to reduce calls to sp_get_icon_pixbuf --- src/ui/widget/iconrenderer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/ui/widget/iconrenderer.cpp') diff --git a/src/ui/widget/iconrenderer.cpp b/src/ui/widget/iconrenderer.cpp index a2e6bdb12..4ca250ef2 100644 --- a/src/ui/widget/iconrenderer.cpp +++ b/src/ui/widget/iconrenderer.cpp @@ -91,17 +91,17 @@ bool IconRenderer::activate_vfunc(GdkEvent* /*event*/, void IconRenderer::add_icon(Glib::ustring name) { - _icons.push_back(name); + _icons.push_back(sp_get_icon_pixbuf(name.c_str(), GTK_ICON_SIZE_BUTTON)); } void IconRenderer::set_pixbuf() { int icon_index = property_icon().get_value(); - auto icon_name = Glib::ustring("image-missing"); if(icon_index >= 0 && icon_index < _icons.size()) { - icon_name = _icons[icon_index]; + property_pixbuf() = _icons[icon_index]; + } else { + property_pixbuf() = sp_get_icon_pixbuf("image-missing", GTK_ICON_SIZE_BUTTON); } - property_pixbuf() = sp_get_icon_pixbuf(icon_name.c_str(), GTK_ICON_SIZE_BUTTON); } -- cgit v1.2.3