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.