texture-cache: always call gdk_pixbuf_loader_set_size

Just use the regular image size if we don't want to scale it. This is a
refactor in preparation for the next commit.

https://bugzilla.gnome.org/show_bug.cgi?id=726907
This commit is contained in:
Cosimo Cecchi 2014-03-22 20:26:09 -07:00
parent 74d9b6c2bf
commit 90e52d7266

View File

@ -178,7 +178,7 @@ st_texture_cache_finalize (GObject *object)
G_OBJECT_CLASS (st_texture_cache_parent_class)->finalize (object); G_OBJECT_CLASS (st_texture_cache_parent_class)->finalize (object);
} }
static gboolean static void
compute_pixbuf_scale (gint width, compute_pixbuf_scale (gint width,
gint height, gint height,
gint available_width, gint available_width,
@ -189,7 +189,10 @@ compute_pixbuf_scale (gint width,
int scaled_width, scaled_height; int scaled_width, scaled_height;
if (width == 0 || height == 0) if (width == 0 || height == 0)
return FALSE; {
*new_width = *new_height = 0;
return;
}
if (available_width >= 0 && available_height >= 0) if (available_width >= 0 && available_height >= 0)
{ {
@ -225,9 +228,12 @@ compute_pixbuf_scale (gint width,
{ {
*new_width = scaled_width; *new_width = scaled_width;
*new_height = scaled_height; *new_height = scaled_height;
return TRUE;
} }
return FALSE; else
{
*new_width = width;
*new_height = height;
}
} }
static void static void
@ -314,9 +320,12 @@ on_image_size_prepared (GdkPixbufLoader *pixbuf_loader,
int scaled_width; int scaled_width;
int scaled_height; int scaled_height;
if (compute_pixbuf_scale (width, height, available_width, available_height, compute_pixbuf_scale (width, height, available_width, available_height,
&scaled_width, &scaled_height)) &scaled_width, &scaled_height);
gdk_pixbuf_loader_set_size (pixbuf_loader, scaled_width, scaled_height);
gdk_pixbuf_loader_set_size (pixbuf_loader,
scaled_width,
scaled_height);
} }
static GdkPixbuf * static GdkPixbuf *