Re: trying to track down memo-file conduit bug



Hi,

I'm new to the list, having tuned in while trying to track down the
memo-file conduit bug.

I believe the problem lies in the construction of the gtk_signals in
the file gnome-pilot-conduit-standard-abs.c

In this file, several non-standard signal handlers are defined, using
the old gtk-1 GtkSignalMarshaller signatures.  There are compiler
warnings on compilation:
-----------
gnome-pilot-conduit-standard-abs.c: In function `gnome_pilot_conduit_standard_abs_class_init':
gnome-pilot-conduit-standard-abs.c:243: warning: passing arg 5 of `gtk_signal_new' from incompatible
 pointer type
-----------

What happens is that when the conduit fires the signal, it can't call
the signal handler correctly, and goes awol (SIGILL on my machine).

gnome-pilot-conduit-standard-abs.c hasn't been updated to
gtk-2.  The GtkSignalMarshaller type has changed.  In gtk-2 it is
typedefed to be of type "GClosureMarshal", which has a quite different
signature to the gtk-1 GtkSignalMarshaller.

memo-file-conduit is the only conduit (in my small collection) that
uses gnome_pilot_conduit_standard_abs_*, which is why the problem
seems to be restricted to the memo-file conduit.

I know next to nothing about gtk hacking, but I could have a go at
fixing this stuff if People Who Know Everything are too busy.  There's
a command-line utility in glib-2 (on RH-9) called glib-genmarshal
that can generate code for the signal marshallers, so with that
and an #ifdef or two to switch between glib-1 and glib-2 it
shouldn't be too tricky.

I imagine that for the main hackers this will be a forehead
slapping exercise and the fix will be very quick!

Matt




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]