From 2f077c483516e27677fee353c03967e89284746f Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 27 Apr 2000 07:51:25 +0000 Subject: [PATCH] handle infinite loop for tile if scalign down to 1x1) SVN revision: 2559 --- src/api.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/api.c b/src/api.c index b63cd86..98faeb3 100644 --- a/src/api.c +++ b/src/api.c @@ -822,11 +822,20 @@ imlib_blend_image_onto_image(Imlib_Image source_image, CAST_IMAGE(im_dst, ctxt_image); __imlib_DirtyImage(im_dst); __imlib_DirtyPixmapsForImage(im_dst); - __imlib_BlendImageToImage(im_src, im_dst, ctxt_anti_alias, ctxt_blend, - merge_alpha, source_x, source_y, source_width, - source_height, destination_x, destination_y, - destination_width, destination_height, - ctxt_color_modifier, ctxt_operation); + /* FIXME: hack to get around infinite loops for scaling down too far */ + if ((destination_width < (source_width >> 7)) || + (destination_height < (source_height >> 7))) + __imlib_BlendImageToImage(im_src, im_dst, 0, ctxt_blend, + merge_alpha, source_x, source_y, source_width, + source_height, destination_x, destination_y, + destination_width, destination_height, + ctxt_color_modifier, ctxt_operation); + else + __imlib_BlendImageToImage(im_src, im_dst, ctxt_anti_alias, ctxt_blend, + merge_alpha, source_x, source_y, source_width, + source_height, destination_x, destination_y, + destination_width, destination_height, + ctxt_color_modifier, ctxt_operation); } Imlib_Image