summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/iconrenderer.cpp
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2018-11-10 08:40:25 +0000
committerJabiertxof <jabier.arraiza@marker.es>2019-02-20 15:35:31 +0000
commit1469a7d3feb671a3e246b2aebda3e26bb9ca5858 (patch)
treecde2489ac1e1bef13644f970fa2250a4e8dd7817 /src/ui/widget/iconrenderer.cpp
parentFix use of Gtk::Widget vs. GtkWidget in new symbolic icon getting code (diff)
downloadinkscape-1469a7d3feb671a3e246b2aebda3e26bb9ca5858.tar.gz
inkscape-1469a7d3feb671a3e246b2aebda3e26bb9ca5858.zip
Store pixbufs instead of names to reduce calls to sp_get_icon_pixbuf
Diffstat (limited to 'src/ui/widget/iconrenderer.cpp')
-rw-r--r--src/ui/widget/iconrenderer.cpp8
1 files changed, 4 insertions, 4 deletions
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);
}