diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-06-13 22:12:53 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-06-13 22:12:53 +0000 |
commit | b27c726a58ec8553acf47b3751cefab1c015fd0b (patch) | |
tree | ecc3dccd0d1be2bece319584ff52f0cfb9ec6c2a /gdk-pixbuf | |
parent | f009b9ff6a24e95f7aba711f9ace5c6cbe952bcf (diff) | |
download | gtk+-b27c726a58ec8553acf47b3751cefab1c015fd0b.tar.gz |
Fix problem where when no alpha was involved, we scaled rather than
Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
* pixops/pixops.c: Fix problem where when no alpha was
involved, we scaled rather than composited, but then
went ahead and composited anyways. (#76958, Patch
from Matthias Clasen). Needs to be merged to GNOME
1.4 gdk-pixbuf
Diffstat (limited to 'gdk-pixbuf')
-rw-r--r-- | gdk-pixbuf/pixops/pixops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c index 57c48d3906..1a6c06118f 100644 --- a/gdk-pixbuf/pixops/pixops.c +++ b/gdk-pixbuf/pixops/pixops.c @@ -1429,10 +1429,13 @@ pixops_composite_color (guchar *dest_buf, return; if (!src_has_alpha && overall_alpha == 255) + { pixops_scale (dest_buf, render_x0, render_y0, render_x1, render_y1, dest_rowstride, dest_channels, dest_has_alpha, src_buf, src_width, src_height, src_rowstride, src_channels, src_has_alpha, scale_x, scale_y, interp_type); + return; + } switch (interp_type) { @@ -1480,7 +1483,7 @@ pixops_composite_color (guchar *dest_buf, * @render_x0: x0 of region of scaled source to store into @dest_buf * @render_y0: y0 of region of scaled source to store into @dest_buf * @render_x1: x1 of region of scaled source to store into @dest_buf - * @render_y1: x1 of region of scaled source to store into @dest_buf + * @render_y1: y1 of region of scaled source to store into @dest_buf * @dest_rowstride: rowstride of @dest_buf * @dest_channels: number of channels in @dest_buf * @dest_has_alpha: whether @dest_buf has alpha @@ -1532,10 +1535,13 @@ pixops_composite (guchar *dest_buf, return; if (!src_has_alpha && overall_alpha == 255) + { pixops_scale (dest_buf, render_x0, render_y0, render_x1, render_y1, dest_rowstride, dest_channels, dest_has_alpha, src_buf, src_width, src_height, src_rowstride, src_channels, src_has_alpha, scale_x, scale_y, interp_type); + return; + } switch (interp_type) { |