Re: [ROOT] Debugging code when pointer is grabbed and not returned.

From: Brett Viren (bv@bnl.gov)
Date: Wed Dec 19 2001 - 18:05:22 MET


Hi Fons,

Fons Rademakers writes:
 > 
 >    use ddd, it will ungrab the pointer, when grabbed and stopped
 > in a breakpoint.

It seems that ddd doesn't ungrab the pointer but rather "continues"
your debugged app (after some countdown) when it tries but fails to
grab the pointer.  As a side effect, this continuing works, but only
sometimes.  

Looking at the menu code more closely I see that the pointer is
actually being correctly ungrabbed before the menu signal is ever
emitted.  This means the problem is that X has not yet processed the
ungrab by the time the SegV occurs.  I found that by forcing an
XSync() (via gVirtualX->Update(1)) in my callback (before it has a
chance to crash) I can get the ungrab event processed before the SegV
occurs and can thus debug it in GDB.

As for what is causing the SegV that is another story....

Thanks,
-Brett.



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:12 MET