Ethereal-dev: Re: [Ethereal-dev] Adding our own private widget for the packet list

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 9 Jan 2004 00:39:05 -0800
On Tue, Dec 30, 2003 at 12:34:35AM -0800, Guy Harris wrote:
> I have a tree in which, with GTK+ 1.2[.x] (but not 1.3[.x] or 2.x), we
> use an EthClist widget for the packet list.
> 
> Currently, that widget is just the GTK+ 1.2[.x] GtkClist widget, from
> "gtkclist_v12.[ch]", with a lot of global search and replace done.
> 
> However, that lets us, at least for the GTK+ 1.2[.x] users, make
> performance and other improvements to the widget.  (It should also get
> rid of problems on some platforms where supplying our own GtkClist
> breaks things, e.g. AIX and, I think, some Darwin/Mac OS X builds - the
> latter may be a problem only with dynamically-loaded GTK+ libraries; I
> haven't seen it with my builds against a static GTK+ library.)
> 
> I have not done test builds against 1.3[.x] or 2.x.

I've done a test build with the replacement of GtkClist with EthClist
turned off; it succeeded.  I *suspect* that means it'll work with
1.3[.x] and 2.x as well.

I've checked in that change.  As indicated earlier, we should probably
either

	1) tweak the widget so that it can be built for GTK+ 1.2[.x],
	   1.3[.x], and 2.x (perhaps by looking at the differences
	   between 1.2[.x]'s and 2.x's GtkClists, and putting in
	   #ifdeffed code for those cases where the code has to differ
	   and using the "better" code in other cases)

or

	2) use the new GTK+ 2.x widget for displaying the packet list,
	   if the performance of that widget is acceptable (we'd
	   probably still have to have a #ifdeffed version for 1.3[.x]
	   if 1.3[.x] doesn't have the new tree widgets - I think 1.3[.x]
	   uses UTF-8 for strings, while 1.2[.x] doesn't).