summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-06-13 22:11:41 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-06-13 22:11:41 +0000
commit36446419a3060426a638e4972e8ccdc997a8a2bc (patch)
tree934e1099acb15da0f5dfee72309c2dd13f9058d5
parentdafcd60b6c7e978ae735f27ecafdec82d751df96 (diff)
downloadgdk-pixbuf-36446419a3060426a638e4972e8ccdc997a8a2bc.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.
-rw-r--r--gdk-pixbuf/ChangeLog8
-rw-r--r--gdk-pixbuf/pixops/pixops.c8
2 files changed, 15 insertions, 1 deletions
diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog
index 1a926856b..bfde6d126 100644
--- a/gdk-pixbuf/ChangeLog
+++ b/gdk-pixbuf/ChangeLog
@@ -1,3 +1,11 @@
+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.
+
2002-06-07 Federico Mena Quintero <federico@ximian.com>
* io-bmp.c (lsb_32):
diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c
index 57c48d390..1a6c06118 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)
{