Remove useless checks for NULL before freeing
[profile/ivi/pixman.git] / pixman / pixman-general.c
index 16ea3a4..2ccdfcd 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include "pixman-private.h"
-#include "pixman-combine32.h"
-#include "pixman-private.h"
 
 static void
-general_src_iter_init (pixman_implementation_t *imp,
-                      pixman_iter_t *iter,
-                      pixman_image_t *image,
-                      int x, int y, int width, int height,
-                      uint8_t *buffer, iter_flags_t flags)
+general_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter)
 {
-    iter->image = image;
-    iter->x = x;
-    iter->y = y;
-    iter->width = width;
-    iter->buffer = (uint32_t *)buffer;
+    pixman_image_t *image = iter->image;
 
     if (image->type == SOLID)
-    {
-       _pixman_solid_fill_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
-    }
+       _pixman_solid_fill_iter_init (image, iter);
     else if (image->type == LINEAR)
-    {
-       _pixman_linear_gradient_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
-    }
+       _pixman_linear_gradient_iter_init (image, iter);
     else if (image->type == RADIAL)
-    {
-       _pixman_radial_gradient_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
-    }
+       _pixman_radial_gradient_iter_init (image, iter);
     else if (image->type == CONICAL)
-    {
-       _pixman_conical_gradient_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
-    }
+       _pixman_conical_gradient_iter_init (image, iter);
     else if (image->type == BITS)
-    {
-       _pixman_bits_image_src_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
-    }
+       _pixman_bits_image_src_iter_init (image, iter);
     else
-    {
        _pixman_log_error (FUNC, "Pixman bug: unknown image type\n");
-    }
 }
 
 static void
-general_dest_iter_init (pixman_implementation_t *imp,
-                       pixman_iter_t *iter,
-                       pixman_image_t *image,
-                       int x, int y, int width, int height,
-                       uint8_t *buffer, iter_flags_t flags)
+general_dest_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter)
 {
-    iter->image = image;
-    iter->x = x;
-    iter->y = y;
-    iter->width = width;
-    iter->buffer = (uint32_t *)buffer;
-
-    if (image->type == BITS)
+    if (iter->image->type == BITS)
     {
-       _pixman_bits_image_dest_iter_init (
-           image, iter, x, y, width, height, buffer, flags);
+       _pixman_bits_image_dest_iter_init (iter->image, iter);
     }
     else
     {
@@ -139,19 +101,9 @@ static const op_info_t op_flags[PIXMAN_N_OPERATORS] =
 
 static void
 general_composite_rect  (pixman_implementation_t *imp,
-                         pixman_op_t              op,
-                         pixman_image_t *         src,
-                         pixman_image_t *         mask,
-                         pixman_image_t *         dest,
-                         int32_t                  src_x,
-                         int32_t                  src_y,
-                         int32_t                  mask_x,
-                         int32_t                  mask_y,
-                         int32_t                  dest_x,
-                         int32_t                  dest_y,
-                         int32_t                  width,
-                         int32_t                  height)
+                         pixman_composite_info_t *info)
 {
+    PIXMAN_COMPOSITE_ARGS (info);
     uint64_t stack_scanline_buffer[(SCANLINE_BUFFER_LENGTH * 3 + 7) / 8];
     uint8_t *scanline_buffer = (uint8_t *) stack_scanline_buffer;
     uint8_t *src_buffer, *mask_buffer, *dest_buffer;
@@ -162,9 +114,9 @@ general_composite_rect  (pixman_implementation_t *imp,
     int Bpp;
     int i;
 
-    if ((src->common.flags & FAST_PATH_NARROW_FORMAT)          &&
-       (!mask || mask->common.flags & FAST_PATH_NARROW_FORMAT) &&
-       (dest->common.flags & FAST_PATH_NARROW_FORMAT))
+    if ((src_image->common.flags & FAST_PATH_NARROW_FORMAT)                &&
+       (!mask_image || mask_image->common.flags & FAST_PATH_NARROW_FORMAT) &&
+       (dest_image->common.flags & FAST_PATH_NARROW_FORMAT))
     {
        narrow = ITER_NARROW;
        Bpp = 4;
@@ -190,7 +142,7 @@ general_composite_rect  (pixman_implementation_t *imp,
     /* src iter */
     src_flags = narrow | op_flags[op].src;
 
-    _pixman_implementation_src_iter_init (imp->toplevel, &src_iter, src,
+    _pixman_implementation_src_iter_init (imp->toplevel, &src_iter, src_image,
                                          src_x, src_y, width, height,
                                          src_buffer, src_flags);
 
@@ -201,24 +153,23 @@ general_composite_rect  (pixman_implementation_t *imp,
        /* If it doesn't matter what the source is, then it doesn't matter
         * what the mask is
         */
-       mask = NULL;
+       mask_image = NULL;
     }
 
     component_alpha =
-        mask                            &&
-        mask->common.type == BITS       &&
-        mask->common.component_alpha    &&
-        PIXMAN_FORMAT_RGB (mask->bits.format);
+        mask_image                           &&
+        mask_image->common.type == BITS       &&
+        mask_image->common.component_alpha    &&
+        PIXMAN_FORMAT_RGB (mask_image->bits.format);
 
     _pixman_implementation_src_iter_init (
-       imp->toplevel, &mask_iter, mask, mask_x, mask_y, width, height,
+       imp->toplevel, &mask_iter, mask_image, mask_x, mask_y, width, height,
        mask_buffer, narrow | (component_alpha? 0 : ITER_IGNORE_RGB));
 
     /* dest iter */
-    _pixman_implementation_dest_iter_init (imp->toplevel, &dest_iter, dest,
-                                          dest_x, dest_y, width, height,
-                                          dest_buffer,
-                                          narrow | op_flags[op].dst);
+    _pixman_implementation_dest_iter_init (
+       imp->toplevel, &dest_iter, dest_image, dest_x, dest_y, width, height,
+       dest_buffer, narrow | op_flags[op].dst);
 
     if (narrow)
     {
@@ -271,8 +222,8 @@ general_blt (pixman_implementation_t *imp,
              int                      dst_bpp,
              int                      src_x,
              int                      src_y,
-             int                      dst_x,
-             int                      dst_y,
+             int                      dest_x,
+             int                      dest_y,
              int                      width,
              int                      height)
 {