> Message: 1
> Date: Sat, 17 Nov 2007 23:59:29 +0100
> From: "Laurent G." <[EMAIL PROTECTED]>
> Subject: [Gimp-developer] Problem returning ARRAYs in plugins
> To: gimp-developer@lists.XCF.Berkeley.EDU
> Content-Type: text/plain; charset=ISO-8859-1
> Hi,
> I have been fighting the evening long, trying to give data through such
> an array.
> I saw this post from this month on the archive and registered to ask the
>  writer of the advice if he could send us (or just me) an example of a
> working returning of array.
> I followed the "trick" of inserting an int32 before the array in args,
> but I keep getting my plugin to explode gimp on my calling to my simple
> procedure, at least while calling from python console. I can not figure
> out where I made the first mistake. So if I could compare my code with a
> working one, I could detect my error(s).
> Thanks in advance.
> Laurent G.


Here is some of the code that I use in order to return some int8 into an array.

gint w,h, ***fea_vector;

if (strcmp (name, PLUGIN_NAME) == 0){
        vector = (guint8 **) malloc(sizeof(guint8 *));
        if(get_some_pixels(image_ID,drawable,&w,&h,fea_vector)){/*put some 
    *nreturn_vals=5;/*in fea_vector*/
    values[1].type= GIMP_PDB_INT32;
    values[1].data.d_int32= h;
    values[2].type= GIMP_PDB_INT32;
    values[2].data.d_int32= (gint32)w;
    values[3].type= GIMP_PDB_INT32;
    values[3].data.d_int32= (gint32) w * h;
    values[4].type= GIMP_PDB_INT8ARRAY;
    values[4].data.d_int8array = *fea_vector;

I don't use Python for writing plugins but I strongly recommend you doing some
debug. You can get to the code of "_gimp_wire_write" in libgimp/gimpprotocol.c
where the plugin surely crash while writing the values of the INT8ARRAY (at
least, it was here in my case).

This mail sent through IMP: http://horde.org/imp/
Gimp-developer mailing list

Reply via email to