icontheme: use desired size instead of negative for DIR_UNTHEMED SVGs

When loading SVGs from ICON_THEME_DIR_UNTHEMED GtkIconInfos,
such as those created for a GLoadableIcon, the size of the pixbuf to
load is set as a product of icon_info->scale.
But a few lines above, icon_info->scale is set to -1 for
ICON_THEME_DIR_UNTHEMED GtkIconInfos, so we'll end up always passing a
negative size to the GdkPixbuf loader, which is interpreted as the
nominal size of the image file.
Instead load the SVG at the desired scaled size in that case.

This fixes blurry icon in the notification panel in gnome-shell.

https://bugzilla.gnome.org/show_bug.cgi?id=744991
This commit is contained in:
Cosimo Cecchi 2015-02-22 17:53:18 -08:00
parent acd72ffabe
commit eddaf01676

View File

@ -3859,7 +3859,7 @@ icon_info_ensure_scale_and_pixbuf (GtkIconInfo *icon_info)
{
gint size;
if (icon_info->forced_size)
if (icon_info->forced_size || icon_info->dir_type == ICON_THEME_DIR_UNTHEMED)
size = scaled_desired_size;
else
size = icon_info->dir_size * dir_scale * icon_info->scale;
@ -3889,7 +3889,7 @@ icon_info_ensure_scale_and_pixbuf (GtkIconInfo *icon_info)
{
gint size;
if (icon_info->forced_size)
if (icon_info->forced_size || icon_info->dir_type == ICON_THEME_DIR_UNTHEMED)
size = scaled_desired_size;
else
size = icon_info->dir_size * dir_scale * icon_info->scale;