diff --git a/app/Makefile.am b/app/Makefile.am index ee19f78a960d098fbbb68a38ec0cb435f557b4bf..f6a384b67f2be9c2bad0a900fbd8ad56761332e0 100644 --- a/app/Makefile.am +++ b/app/Makefile.am @@ -176,7 +176,6 @@ gimp_SOURCES = \ layers_dialogP.h \ levels.c \ levels.h \ - linked.c \ linked.h \ magnify.c \ magnify.h \ diff --git a/app/asupsample.c b/app/asupsample.c index 70e33befdd1dcd0c5c52247f7eb3ecba16b3c00d..6488095eb6501be63f021bb2768734e10feae237 100644 --- a/app/asupsample.c +++ b/app/asupsample.c @@ -30,6 +30,7 @@ #include +#include #include "appenv.h" #include "asupsample.h" @@ -114,17 +115,8 @@ adaptive_supersample_area(int x1, int y1, int x2, int y2, int max_depth, double block = g_malloc((sub_pixel_size + 1) * sizeof(sample_t *)); /* Rows */ for (y = 0; y < (sub_pixel_size + 1); y++) - block[y] = g_malloc((sub_pixel_size + 1) * sizeof(sample_t)); /* Columns */ - - for (y = 0; y < (sub_pixel_size + 1); y++) - for (x = 0; x < (sub_pixel_size + 1); x++) { - block[y][x].ready = 0; - - block[y][x].color.r = 0.0; - block[y][x].color.g = 0.0; - block[y][x].color.b = 0.0; - block[y][x].color.a = 0.0; - } /* for */ + /* Columns */ + block[y] = g_malloc0((sub_pixel_size + 1) * sizeof(sample_t)); /* Render region */ @@ -152,10 +144,9 @@ adaptive_supersample_area(int x1, int y1, int x2, int y2, int max_depth, double /* Copy samples from top row to block */ - for (xtt = 0, xt = (x - x1) * sub_pixel_size; - xtt < (sub_pixel_size + 1); - xtt++, xt++) - block[0][xtt] = top_row[xt]; + memcpy(block[0], + top_row + ((x - x1) * sub_pixel_size), + sizeof(sample_t) * sub_pixel_size); /* Render pixel on (x, y) */ @@ -171,10 +162,9 @@ adaptive_supersample_area(int x1, int y1, int x2, int y2, int max_depth, double top_row[((x - x1) + 1) * sub_pixel_size] = block[0][sub_pixel_size]; - for (xtt = 0, xt = (x - x1) * sub_pixel_size; - xtt < (sub_pixel_size + 1); - xtt++, xt++) - bot_row[xt] = block[sub_pixel_size][xtt]; + memcpy(bot_row + ((x - x1) * sub_pixel_size), + block[sub_pixel_size], + sub_pixel_size * sizeof(sample_t)); /* Swap first and last columns */ @@ -226,7 +216,7 @@ render_sub_pixel(int max_depth, int depth, sample_t **block, /* Get offsets for corners */ - dx1 = (double) (x1 - sub_pixel_size / 2) / sub_pixel_size; + dx1 = (double) (x1 - sub_pixel_size / 2) / sub_pixel_size; dx3 = (double) (x3 - sub_pixel_size / 2) / sub_pixel_size; dy1 = (double) (y1 - sub_pixel_size / 2) / sub_pixel_size; diff --git a/app/gui/layers-dialog.c b/app/gui/layers-dialog.c index 1560a8c99d1378922cf025b9728e4d522aa657ab..53a36c7e8e587b96ced6608a16150076203b5a22 100644 --- a/app/gui/layers-dialog.c +++ b/app/gui/layers-dialog.c @@ -784,7 +784,8 @@ layers_dialog_update (int gimage_id) list = next_item(list); layer_widget_delete (lw); } - layersD->layer_widgets = free_list (layersD->layer_widgets); + free_list (layersD->layer_widgets); + layersD->layer_widgets = NULL; if (! (gimage = gimage_get_ID (layersD->gimage_id))) return; diff --git a/app/layers_dialog.c b/app/layers_dialog.c index 1560a8c99d1378922cf025b9728e4d522aa657ab..53a36c7e8e587b96ced6608a16150076203b5a22 100644 --- a/app/layers_dialog.c +++ b/app/layers_dialog.c @@ -784,7 +784,8 @@ layers_dialog_update (int gimage_id) list = next_item(list); layer_widget_delete (lw); } - layersD->layer_widgets = free_list (layersD->layer_widgets); + free_list (layersD->layer_widgets); + layersD->layer_widgets = NULL; if (! (gimage = gimage_get_ID (layersD->gimage_id))) return; diff --git a/app/linked.h b/app/linked.h index ddf4e0227fbab00179734bcb2c5fe274f43c48e0..32b8997dcf88cdd54ee3681af8bc4fdc64d61a46 100644 --- a/app/linked.h +++ b/app/linked.h @@ -15,23 +15,23 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* This is compatibility stuff only... */ #ifndef __LINKED_H__ #define __LINKED_H__ -typedef struct _link -{ - void *data; - struct _link *next; -} *link_ptr; +#include + +typedef GSList * link_ptr; -extern link_ptr alloc_list (void); -extern link_ptr free_list (link_ptr); -extern link_ptr add_to_list (link_ptr, void *); -extern link_ptr append_to_list (link_ptr, void *); -extern link_ptr insert_in_list (link_ptr, void *, int); -extern link_ptr remove_from_list (link_ptr, void *); -extern link_ptr next_item (link_ptr); -extern link_ptr nth_item (link_ptr, int); -extern int list_length (link_ptr); +#define alloc_list() g_slist_alloc() +#define free_list(x) g_slist_free((x)) +#define add_to_list(x, y) g_slist_prepend((x), (y)) +#define append_to_list(x, y) g_slist_append((x), (y)) +#define insert_in_list(x, y, z) g_slist_insert((x), (y), (z)) +#define remove_from_list(x, y) g_slist_remove((x), (y)) +#define next_item(x) (x)?g_slist_next((x)):NULL +#define nth_item(x, y) g_slist_nth((x), (y)) +#define list_length(x) g_slist_length((x)) #endif diff --git a/app/paint-funcs/paint-funcs.c b/app/paint-funcs/paint-funcs.c index 24961bf4e188cd540ce86be340207fc4f4622918..d5742ff2e996594762fa999585391f96ddd539e0 100644 --- a/app/paint-funcs/paint-funcs.c +++ b/app/paint-funcs/paint-funcs.c @@ -1740,8 +1740,7 @@ combine_inten_a_and_channel_mask_pixels (unsigned char *src, dest[b] = new_alpha; } else - for (b = 0; b < bytes; b++) - dest[b] = src[b]; + memcpy(dest, src, bytes); /* advance pointers */ src+=bytes; @@ -1784,8 +1783,7 @@ combine_inten_a_and_channel_selection_pixels (unsigned char *src, dest[b] = new_alpha; } else - for (b = 0; b < bytes; b++) - dest[b] = src[b]; + memcpy(dest, src, bytes); /* advance pointers */ src+=bytes; @@ -3353,6 +3351,7 @@ shapeburst_region (PixelRegion *srcPR, float *distp_prev; float *tmp; float min_prev; + float float_tmp; int min; int min_left; int length; @@ -3380,8 +3379,7 @@ shapeburst_region (PixelRegion *srcPR, for (i = 0; i < srcPR->h; i++) { /* set the current dist row to 0's */ - for (j = 0; j < length; j++) - distp_cur[j - 1] = 0.0; + memset(distp_cur - 1, 0, sizeof(float) * (length - 1)); for (j = 0; j < srcPR->w; j++) { @@ -3442,10 +3440,10 @@ shapeburst_region (PixelRegion *srcPR, min++; } - distp_cur[j] = min + fraction / 256.0; + float_tmp = distp_cur[j] = min + fraction / 256.0; - if (distp_cur[j] > max_iterations) - max_iterations = distp_cur[j]; + if (float_tmp > max_iterations) + max_iterations = float_tmp; } /* set the dist row */ diff --git a/app/paint_funcs.c b/app/paint_funcs.c index 24961bf4e188cd540ce86be340207fc4f4622918..d5742ff2e996594762fa999585391f96ddd539e0 100644 --- a/app/paint_funcs.c +++ b/app/paint_funcs.c @@ -1740,8 +1740,7 @@ combine_inten_a_and_channel_mask_pixels (unsigned char *src, dest[b] = new_alpha; } else - for (b = 0; b < bytes; b++) - dest[b] = src[b]; + memcpy(dest, src, bytes); /* advance pointers */ src+=bytes; @@ -1784,8 +1783,7 @@ combine_inten_a_and_channel_selection_pixels (unsigned char *src, dest[b] = new_alpha; } else - for (b = 0; b < bytes; b++) - dest[b] = src[b]; + memcpy(dest, src, bytes); /* advance pointers */ src+=bytes; @@ -3353,6 +3351,7 @@ shapeburst_region (PixelRegion *srcPR, float *distp_prev; float *tmp; float min_prev; + float float_tmp; int min; int min_left; int length; @@ -3380,8 +3379,7 @@ shapeburst_region (PixelRegion *srcPR, for (i = 0; i < srcPR->h; i++) { /* set the current dist row to 0's */ - for (j = 0; j < length; j++) - distp_cur[j - 1] = 0.0; + memset(distp_cur - 1, 0, sizeof(float) * (length - 1)); for (j = 0; j < srcPR->w; j++) { @@ -3442,10 +3440,10 @@ shapeburst_region (PixelRegion *srcPR, min++; } - distp_cur[j] = min + fraction / 256.0; + float_tmp = distp_cur[j] = min + fraction / 256.0; - if (distp_cur[j] > max_iterations) - max_iterations = distp_cur[j]; + if (float_tmp > max_iterations) + max_iterations = float_tmp; } /* set the dist row */