I spent nearly a week trying to figure out where the X11 message had
come from. I knew where, but not why it was different from the other
parts of the CRiSP code.
Of course, 30mins after posting that, I resolved the problem.
Definitely a case of being short sighted and not remembering how
my own code worked.
When a tooltip pops up, the keyboard is grabbed, and we track the
mouse - looking to see it move outside of the original area, so we
can pop down the icon.
I assumed some magic was being used to drop the tooltip, but it was
more basic than that. I had forgotten to look for the mouse moving
outside the bounds of the image which gave rise to the tooltip.
(I had nearly spotted the problem a few days back, but got side tracked
as I locked the X server up, and hadnt spotted the "missing code").
The ribbon most likely wont make it in to the next release of CRiSP,
as its not ready. A ribbon implementation is interesting, because
of the behavior of the control, but also due to the various things that
happen and can be embedded into a ribbon. (Popping up tooltips, complex
tip-like helper windows, complete with embedded images, and a menu
CRiSP does most of this now. (I have also been cleaning up the
freetype font display for some of the controls, because getting the
ribbon work was showing the ugly default fonts).
Now..off to see if this code even builds on Windows, as I have a couple
of customer bugs to examine/fix.