Hi, I'm writing the bindings for libunique (http://live.gnome.org/LibUnique) so far everything works fine except for the marshaling of the struct "UniqueMessageData". This type is a normal struct and not a GObject documented as follows: typedef struct _UniqueMessageData UniqueMessageData;
I added a typemap file to the project with the following lines: TYPEMAP UniqueMessageData* T_GPERL_GENERIC_WRAPPER UniqueMessageData_ornull* T_GPERL_GENERIC_WRAPPER And created newSVUniqueMessageData() and SvUniqueMessageData() in the corresponding XS file. The idea is to convert the struct into a perl hash and vice-versa. So far the XS module compiles and can be loaded, but when I run the example application (from 2 different shells): shell1$ perl -Mblib examples/sample.pl "Hello world" shell2$ perl -Mblib examples/sample.pl "It works" I get in the first shell: GType UniqueMessageData (138666312) is not registered with gperl at examples/sample.pl line 40. This bug only happens if I connect the signal 'message-received' and if the main application receives a message. If the signal handler is not connected and a message is sent there will be no crash. This leads me to suppose that the marshaling of the struct UniqueMessageData to a Perl hash ref is not done properly. I seem to know what's the issue but I don't know how to fix it. The module is hosted here: http://github.com/potyl/gtk2-unique/tree/master -- Emmanuel Rodriguez
_______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list