Re: gtk+-2.3/2.4 backwards compatibility

Owen Taylor <otaylor redhat com> writes:

> > But there is one other app I use in a Gnome/gtk environment: eclipse
> > ( The provided binary stopped working right
> > after I upated gtk+ form 2.2 to 2.3 (after the updates of glib and pango
> > before eclipse did still work).
> > 
> > I tried to build eclipse from sources (works with gtk+-2.2) but there
> > were errors during compilation (javac to build the java classes).
> > 
> > Now, eclipse is a java app. But it builds on top of gtk for the user
> > interface on Linux.
> Someone talking to me on IRC said that this was a toolbar related
> issue.

> Some people were accessing GtkToolbar private data and internal
> structure in ways we found impossible to support. The GTK+ port of
> Emacs did this. Also Glade.

The compatibility problems that I know of are:

        - Glade accessed toolbar-internal data structures

        - Emacs did the same thing, but apparently doesn't anymore

        - Both AbiWord and the gtk+ port of Emacs somehow have
          keyboard focus on the toolbar while allowing keypresses on
          their main widget.

The last problem also appears in another variant: applications start
up with keyboard focus on the toolbar. This happens since the new
toolbar can accept keyboard while the old one couldn't. The result is
that the toolbar is now often the first keyboard focusable widget in
the application. Currently the only workaround is for the application
to explicit call gtk_widget_grab_focus() on the widget they want to be
focused on startup.

> I don't know if this applies to Eclipse - without information in detail,
> it's impossible to say. Having this information in detail would be
> great.

Indeed. I think it's quite possible that the toolbar in its current
state breaks existing applications. It is always a judgement call
whether what those applications are doing, is legal, of course, but
having the information that they are doing it would be great, so we
can figure out if compatibility workaround are in order.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]