[gtk+/wip/window-scales: 65/69] GtkCssImageScaled: Ensure we compute the child when computing the image
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales: 65/69] GtkCssImageScaled: Ensure we compute the child when computing the image
- Date: Fri, 28 Jun 2013 10:24:18 +0000 (UTC)
commit cdabe7db9148d03dcf7e3584e5be0706b3e5ad1f
Author: Alexander Larsson <alexl redhat com>
Date: Fri Jun 28 00:22:00 2013 +0200
GtkCssImageScaled: Ensure we compute the child when computing the image
gtk/gtkcssimagescaled.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkcssimagescaled.c b/gtk/gtkcssimagescaled.c
index e0a9f4c..125e53e 100644
--- a/gtk/gtkcssimagescaled.c
+++ b/gtk/gtkcssimagescaled.c
@@ -103,7 +103,7 @@ gtk_css_image_scaled_compute (GtkCssImage *image,
GtkCssImageScaled *copy;
int i;
- scale = MIN (scale, scaled->n_images);
+ scale = MAX(MIN (scale, scaled->n_images), 1);
if (scaled->scale == scale)
return g_object_ref (scaled);
@@ -112,9 +112,20 @@ gtk_css_image_scaled_compute (GtkCssImage *image,
copy = g_object_new (_gtk_css_image_scaled_get_type (), NULL);
copy->scale = scale;
copy->n_images = scaled->n_images;
- copy->images = g_memdup (scaled->images, sizeof (GtkCssImage *) * scaled->n_images);
+ copy->images = g_new (GtkCssImage *, scaled->n_images);
for (i = 0; i < scaled->n_images; i++)
- g_object_ref (copy->images[i]);
+ {
+ if (i == scale - 1)
+ copy->images[i] = _gtk_css_image_compute (scaled->images[i],
+ property_id,
+ provider,
+ scale,
+ values,
+ parent_values,
+ dependencies);
+ else
+ copy->images[i] = g_object_ref (scaled->images[i]);
+ }
return GTK_CSS_IMAGE (copy);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]