"Adam D. Moss" <adam@xxxxxxxx> writes: > We had an adequately generic GUI and most users couldn't > give a whit about the internal object model, but I can > see an attraction to hackers. Well I find GIMP 1.2's UI not at all generic. The whole GIMP is a huge pile of global variables and dialogs which are not generic views but are hardcoded each-for-each, requiring making the same error-prone changes to many files at the same time if something has to change. > > > >* For those of us with pieces of the tree's core which diverge > > > >somewhat from the trunk, how much of a no-brainer is converting our > > > >code to GTK 1.3-isms? > > > > The changes made for 2.0 migration are much less of a structural change > > than what happens in two weeks of usual HEAD-reorganizing. Not a single > > file was moved and almost only the object stuff was touched. > > It was an honest and straightforward question, not a > rhetorical one; what is involved? Are the changes largely > syntactic, or deeper? Ok, I simply got it wrong. Porting to GLib2 is totally straightforward. If there are no selfmade objects or widgets involved, it's almost 100% source compatible, so code will compile smoothly (except for a few warnings because glib/gtk+ return much more const string now). Porting code which only uses the object model can be done step-by-step as there are compatibility wrappers around the new GLib object ans signal stuff. It's mostly: gtk_signal_connect() -> g_signal_connect() gtk_signal_connect_object() -> g_signal_connect_swapped() gtk_signal_connect_while_alive() -> g_signal_connect_object(..., 0) gtk_signal_connect_object_while_alive() -> g_signal_connect_object (..., G_CONNECT_SWAPPED) This is the olny change in Gtk user code that actually needs thinking because g_signal_connect_object() does NOT correspond to gtk_signal_connect_object() Everything else is mostly like s/gtk_object_ref/g_object_ref/, s/GTK_SIGNAL_FUNC/G_CALLBACK/ Objects and Widgets however need manual hacking, not just sed/perl voodoo. After porting some of them, it takes about 10 minutes each. > > What's a "no-brainer" BTW ? > > Something that does not require brain. =) Hehe, true. Most of this stuff is slave work :-) > > After all, isn't is just natural for GIMP HEAD to use the GIMP Toolkit's > > bleeding edge version? This is unstable development. > > No, I *really* don't see the logic there at all. That's > bleeding for bleeding's sake. GTK took a life of its own > millenia ago and their destinies are no longer entwined. You're right, this is not an argument. I said this _after_ explaining things. Porting GIMP to Gtk2 will need a substantial amount of time and hacking and if we'd start it _after_ GTK 2.0 is final, we will need another 12-24 months until it's stable. IMHO porting it now was 100% right at this point of time, otherwise the goal of releasing GIMP 1.4 by the end of this year cannon be reached. > But the deed is done. :) Yes. ciao, --Mitch