[gtkada] GtkAda-2.2.X with Gtk+-2.4 -- More information

Brice Carpentier brice at daknet.org
Wed Jun 16 08:49:56 CEST 2004


Jeffrey Creem wrote:
> There was a thread a few weeks back about this. GtkAda does not
> build/install against Gtk+-2.4. Since a
> patch did not appear from the person who was going to look at it I thought
> I'd take a quick look. I had suspected something (hopefully) trivial in the
> C portion of the binding but this turned out to be a little tricky to fix.
> 
> The problem is that GtkAda contains a copy of the GtkExtra widgets. GtkExtra
> contains a a widget called
> gtkcombobox. The problem is that Gtk+-2.4.2 has its own gtkcombobox with the
> exact same name and exact same
> include file name but it is not really source compatible with the old
> GtkExtra version of the widget.
> 
> It looks like there are probably about 3 choices here.
> 
> 1) Disable access to the old GtkExtra style gtkcombobox widget (and all of
> its children)
> 2) Modify the misc_extra.c and GtkAda code to use the Gtk+-2.4 GtkCombobox
> 3) Modify the local gtkextra c code and associated misc_extra and Ada code
> to avoid the name collisions.
> 
> 1 is obviously a poor choice because it breaks source compatibility with
> older GtkAda releases
> 2 looks like it would be difficult to do as well because I see no obvious
> way to use the official Gtk+-2.4.2 combobox to provide all of the features
> of the old GtkExtra combobox
> 3 is not really techincally difficult however it has a few drawbacks
>   a) I dont see any good way to correct it without renaming a .c and .h file
> in the gtkextra directory. (note that there
>       are probably some non good ways of avoiding the rename...but they are
> ugly). The only ugly thing about the
>       file rename approach is it makes any fix non-cvs-patch friendly
>   b) It continues to make the GtkExtra combobox exist when (perhaps) people
> should move to use the real
>       one....
> 
> In any case I did come up with an approach that works (renaming
> gtkcombobox.h and gtkcombobox.c in the
> gtkextra directory to gtkextracombobox.h and gtkextracombobox.c and then
> using a similar approach on macros
> and typedefs of inserting an "extra" to make the name unique).
> 
> With these changes in place things compile and the testgtk application seems
> to run ok (This is a Solaris host)
> 
> If anyone is interested I can create the patches.
> 
> Also found and fixed a problem that prevented GCC 3.4 from compiling
> gtkplot3d (in gtkextra) but it looks like that
> already is in CVS
I'd be interested, so as to include it in the gtkada package for 
ArchLinux (http://www.archlinux.org)


-- 
Brice Carpentier aka Br|ce



More information about the gtkada mailing list