On Sun, 13 Feb 2005 13:49:42 -0500 (EST)
[EMAIL PROTECTED] (Stuart Brorson) wrote:

> This raises a nasty issue:  We are dropping support for gtk-1.X and
> transitioning  to gtk-2.X.  However, I think that we should maintain
> compatability all the way back to gtk-2.0.  
> 
> I appreciate Patrick's code cleanup & rationalization.  In
> particular, his porting our gEDA-specific funcitons to generic
> gtk/glib ones is good.  However, what is the minimum level of gtk/glib
> required to successfully compile these chages?  Should we do some kind
> of audit to see if there are any function calls which rely upon a
> version of gtk/glib whcih is too new?  What is the minimum gtk
> required to build gEDA?

Gtk 2.4 is a year old (since March 2004).  Maybe at some point you
have to accept the requirements that go with uprading to new
versions of programs.  This applies to deprecated as well as new
functions.  Gtk docs emphasize that deprecated functions should
not be used in newly written code and you will get to the point
where bugs will be introduced because Gtk fails to maintain the
deprecated code.  I experienced this first hand with GdkFont on
another project.

The new functions are very very nice to use and make programs
better it seems to me.  And from a programmer point of view,
once you use them, you really don't want to go back... ever, really!
I'm using Gtk 2.4 in the PCB port and can hardly envision doing it
without the tree model/view and ui-manager interfaces.  This seems
to be the norm for most major projects.  Look at other Gtk projects
in development and you will see many patching in Gtk 2.4 functions.

But when you break compatibility with a previous library version
you should also bump the major or minor version of your program
(not just the revision #) and to let the user know when he tries to
compile, a header file should have something like:

#if !GTK_CHECK_VERSION(2,4,0)
#error Gtk 2.4 is required to compile this package.
#endif

Bill

Reply via email to