From 7bae8738e08a91b46c883fc9a34cf14810778b7c Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Fri, 6 Nov 2009 13:41:11 +0000 Subject: [PATCH] stuff --- ChangeLog | 1 + TODO | 27 --------------------------- libvips/iofuncs/package.c | 6 +++--- swig/vipsCC/VImage.i | 4 +++- 4 files changed, 7 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index 63d38fc2..7612ed2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -80,6 +80,7 @@ over whether to use im_free() or g_free() for things like im_header_string() - added im_history_get(), im_getexp(), im_printdesc() as wrapped functions ... so you no longer need the "header" program +- image vectors from Python work, woo 25/3/09 started 7.18.0 - revised version numbers diff --git a/TODO b/TODO index c699ee2f..401b9c53 100644 --- a/TODO +++ b/TODO @@ -1,30 +1,3 @@ - -- gbandjoin in Python seems to be broken - - b = VImage.VImage.gbandjoin ([a, a, a]) - - fails with a typecheck error - - $ ./try157.py - Traceback (most recent call last): - File "./try157.py", line 6, in - b = VImage.VImage.gbandjoin ([a, a, a]) - TypeError: in method 'VImage_gbandjoin', argument 1 of type - 'std::vector< vips::VImage,std::allocator< vips::VImage > >' - - probably all IMAGEVEC wrappers are duff like this ... the proto should take - a std::allocator too? - - however, this works? - - b = a.lin ([1,2,3], [4,5,6]) - - how odd - -- rename "header" program? or maybe use "vips header" instead? - - it's disabled on ubuntu due to a name clash - - import ~/summer-demo/summer.tif fails with "unable to read embedded profile", is this a bug? better err msg would be good diff --git a/libvips/iofuncs/package.c b/libvips/iofuncs/package.c index 471bafec..77147af9 100644 --- a/libvips/iofuncs/package.c +++ b/libvips/iofuncs/package.c @@ -254,7 +254,7 @@ static im_arg_desc header_string_args[] = { static int header_string_vec( im_object *argv ) { - char **out = (char **) argv[2]; + char **out = (char **) &argv[2]; /* Actually, we call im_header_as_string(), so we can do any field and * not just the string-valued ones. @@ -289,7 +289,7 @@ static im_arg_desc history_get_args[] = { static int history_get_vec( im_object *argv ) { - char **out = (char **) argv[1]; + char **out = (char **) &argv[1]; const char *str; if( !(str = im_history_get( (IMAGE *) argv[0] )) || @@ -322,7 +322,7 @@ static im_arg_desc getext_args[] = { static int getext_vec( im_object *argv ) { - void **out = (void **) argv[1]; + void **out = (void **) &argv[1]; int size; /* void/char confusion is fine. diff --git a/swig/vipsCC/VImage.i b/swig/vipsCC/VImage.i index 2d33a19c..2c55e2e5 100644 --- a/swig/vipsCC/VImage.i +++ b/swig/vipsCC/VImage.i @@ -8,6 +8,8 @@ * methods * - add PIL_mode_from_vips () and vips_from_PIL_mode () utility * functions + * 6/11/09 + * - arg, std::vector was missing the "vips::" */ %module VImage @@ -39,7 +41,7 @@ namespace std { %template(IntVector) vector; %template(DoubleVector) vector; - %template(ImageVector) vector; + %template(ImageVector) vector; } /* To get image data to and from VImage (eg. when interfacing with PIL) we