Ethereal-dev: Re: [Ethereal-dev] [patch] "crash" in eapol

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

From: Guy Harris <guy@xxxxxxxxxx>
Date: Mon, 11 Mar 2002 00:33:48 -0800
On Mon, Mar 11, 2002 at 03:22:31AM -0500, Adam wrote:
> by the way, is there any way that ethereal handled aborts/crashes more
> gracefully. currently if I try run it under gdb, at some instances when it
> crashes it will take control of WM with it. as result I have to switch to
> some VC kill ethereal and switch back before I can do anything in X.
> 
> Is ethereal usinsg 'Override-Redirect' (as defined in XConfigureWindow
> or XCreateWindow) or something?

Ethereal doesn't directly use *any* X features.  It relies on GTK+ to do
all the low-level X stuff.

GTK+ might use OverrideRedirect, but it's more likely that it's doing a
grab of some sort, which doesn't take control of the WM, it takes
control of the keyboard or the server.

In particular, if you click on a packet, some GTK+ widget (I think it's
the GtkCList that implements the packet list pane) does a keyboard grab,
which means you can't do anything useful with the keyboard, such as,
say, type any command to GDB.

This is a royal pain.  I work around it by using my own private patched
version of GTK+, which supports an extra command line argument
"--gtk-no-grabs" which tells GTK+ not to do grabs.  I don't have it here
at work, so I can't send the patches out now.