Wireshark-dev: Re: [Wireshark-dev] GTK1: code cleanup status and some open points
On Thu, Apr 10, 2008 at 01:33:03AM +0200, Ulf Lamping wrote:
> Lot's of stuff already done for the GTK1 cleanup, but we could still
> need a helping hand ...
> OPEN:
>
> Unix build process: finished?
Yes, it's done as far as I can tell.
> gtk/STATUS.gtk2: very old content (remove items marked as "Done" - or
> remove the whole file?)
Let's just get rid of that old file :).
> compat_macros.h: GTK1 specific code removed, but a lot more cleanup
> needed (macro removal throughout the gtk code is now possible) -
> Stephen Fisher seems to be working on this
Yup. Unfortunately, there are thousands of instances where a macro from
compat_macros.h is used throughout the gtk directory so it will take a
while :(. I wrote a Perl script to help, but it misses so many of them
because of the arguments to the macro being split across lines and
similar issues. They can't just simply be renamed because some need
cast/type checking macros added as seen below.
The most commonly used macros need to change as follows:
OBJECT_SET_DATA(widget, key, data);
to: g_object_set_data(G_OBJECT(widget), key, data);
OBJECT_GET_DATA(widget, key);
to: g_object_get_data(G_OBJECT(widget), key);
SIGNAL_CONNECT(widget, name, callback, arg);
to: g_signal_connect(widget, name, G_CALLBACK(callback), arg);
(depending on the type of arg, it may need to be cast to a gpointer)
> However, seems we're making good progress on this whole topic, and
> some gtk files already look *a lot* nicer ...
Indeed:). I think the next step is to get rid of GTK1 features that
have been deprecated in GTK2, such as the CList (which should be
possible for all instances except the packet list). Of course, this
will take plenty of work to port the code to the new APIs.
Steve