diff --git a/ChangeLog b/ChangeLog index b4731ff551..d49963d794 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon May 17 16:56:36 CEST 1999 Marc Lehmann + + * libgimp/gimppixelrgn.c: New function gimp_pixel_rgns_register2. + * libgimp/gimp.h: Add prototype for the above. + * libgimp/gimpfeatures.h: Add feature test macro for the above. + Tue May 18 22:53:08 MEST 1999 Sven Neumann * plug-ins/script-fu/script-fu-scripts.c: Changed the layout of the @@ -78,6 +84,7 @@ Mon May 17 14:25:11 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) * app/xcf.c: fixed bogus computation of the maximum size of a compressed tile in xcf_load_level and xcf_save_level. +>>>>>>> 1.1118 1999-05-16 Scott Goehring * plug-ins/displace/displace.c (run): Fixed a dumb typo reported @@ -89,8 +96,8 @@ Sun May 16 22:54:23 1999 ape@lrdpf.spacetec.no (Asbjorn Pettersen) Thu May 13 19:17:58 CEST 1999 Marc Lehmann - * libgimp/gimp.[ch]: implement gimp_default_display. - * libgimp/gimpfeatures.h: add feature test macro for the above. + * libgimp/gimp.[ch]: Implement gimp_default_display. + * libgimp/gimpfeatures.h: Add feature test macro for the above. Sun May 16 18:23:12 BST 1999 Austin Donnelly diff --git a/libgimp/gimp.h b/libgimp/gimp.h index 347b218ac4..00648d88a7 100644 --- a/libgimp/gimp.h +++ b/libgimp/gimp.h @@ -784,6 +784,8 @@ void gimp_pixel_rgn_set_rect (GPixelRgn *pr, int height); gpointer gimp_pixel_rgns_register (int nrgns, ...); +gpointer gimp_pixel_rgns_register2(int nrgns, + GPixelRgn **prs); gpointer gimp_pixel_rgns_process (gpointer pri_ptr); diff --git a/libgimp/gimpfeatures.h.in b/libgimp/gimpfeatures.h.in index 6ce9a9b72c..ca452c287f 100644 --- a/libgimp/gimpfeatures.h.in +++ b/libgimp/gimpfeatures.h.in @@ -43,6 +43,7 @@ extern "C" { #define GIMP_HAVE_FEATURES_1_1_5 1-1-5 #define GIMP_HAVE_DEFAULT_DISPLAY 1-1-5 +#define GIMP_HAVE_PIXEL_RGNS_REGISTER2 1-1-5 #ifdef __cplusplus } diff --git a/libgimp/gimpfeatures.h.win32 b/libgimp/gimpfeatures.h.win32 index 19574e1610..dab9c22494 100644 --- a/libgimp/gimpfeatures.h.win32 +++ b/libgimp/gimpfeatures.h.win32 @@ -43,6 +43,7 @@ extern "C" { #define GIMP_HAVE_FEATURES_1_1_5 1-1-5 #define GIMP_HAVE_DEFAULT_DISPLAY 1-1-5 +#define GIMP_HAVE_PIXEL_RGNS_REGISTER2 1-1-5 #ifdef __cplusplus } diff --git a/libgimp/gimppixelrgn.c b/libgimp/gimppixelrgn.c index 5b96b262c9..ae344a675b 100644 --- a/libgimp/gimppixelrgn.c +++ b/libgimp/gimppixelrgn.c @@ -460,13 +460,11 @@ gimp_pixel_rgn_set_rect (GPixelRgn *pr, } gpointer -gimp_pixel_rgns_register (int nrgns, - ...) +gimp_pixel_rgns_register2 (int nrgns, GPixelRgn **prs) { GPixelRgn *pr; GPixelRgnHolder *prh; GPixelRgnIterator *pri; - va_list ap; int found; pri = g_new (GPixelRgnIterator, 1); @@ -476,12 +474,10 @@ gimp_pixel_rgns_register (int nrgns, if (nrgns < 1) return NULL; - va_start (ap, nrgns); - found = FALSE; while (nrgns --) { - pr = va_arg (ap, GPixelRgn *); + pr = prs[nrgns]; prh = g_new (GPixelRgnHolder, 1); prh->pr = pr; @@ -507,9 +503,32 @@ gimp_pixel_rgns_register (int nrgns, pri->pixel_regions = g_slist_prepend (pri->pixel_regions, prh); } + return gimp_pixel_rgns_configure (pri); +} + +gpointer +gimp_pixel_rgns_register (int nrgns, + ...) +{ + GPixelRgn **prs; + gpointer pri; + int n; + va_list ap; + + prs = g_new (GPixelRgn *,nrgns); + + va_start (ap, nrgns); + + for (n = nrgns; n--; ) + prs[n] = va_arg (ap, GPixelRgn *); + va_end (ap); - return gimp_pixel_rgns_configure (pri); + pri = gimp_pixel_rgns_register2 (nrgns, prs); + + g_free (prs); + + return pri; } gpointer diff --git a/libgimpbase/gimpversion.h.in b/libgimpbase/gimpversion.h.in index 6ce9a9b72c..ca452c287f 100644 --- a/libgimpbase/gimpversion.h.in +++ b/libgimpbase/gimpversion.h.in @@ -43,6 +43,7 @@ extern "C" { #define GIMP_HAVE_FEATURES_1_1_5 1-1-5 #define GIMP_HAVE_DEFAULT_DISPLAY 1-1-5 +#define GIMP_HAVE_PIXEL_RGNS_REGISTER2 1-1-5 #ifdef __cplusplus }