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
