This bug has been reported to the Debian BTS 6 months ago by Bernhard R. Link. From what I see in gitweb, it still applies to current git.
Xaw's Tips.c registers and releases timers for tooltips to show,
but does not remember a timer already triggered. Thus it releases
timers no longer belonging to it but to other users of Xt Timeouts
within the same program. (This even happens very often, as Xt reuses
old TimeEventRecs, so the next one adding a timeout will get exactly
diff -r -u libxaw-1.0.1.orig/src/Tip.c libxaw-1.0.1/src/Tip.c
--- libxaw-1.0.1.orig/src/Tip.c 2006-08-18 16:07:24.086733000 +0200
+++ libxaw-1.0.1/src/Tip.c 2006-08-18 16:08:02.513875540 +0200
@@ -564,6 +564,7 @@
info->tip->tip.label = NULL;
info->tip->tip.international = False;
info->tip->tip.encoding = 0;
+ info->tip->tip.timer = 0;
XtSetArg(args, XtNtip, &info->tip->tip.label);
XtSetArg(args, XtNinternational, &info->tip->tip.international);
XtSetArg(args, XtNencoding, &info->tip->tip.encoding);
This is the correct bahaviour, as section 7.1.3 of Intrinsic.txt.gz
| Note that timeouts are automatically removed once they trig-
src/Repeater.c correctly forgets the timer when it is triggered, but
src/StripChart.c does very strange things with Xt Timeouts, which
very likely will have similar problems.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
fixed in git.
Author: Bernhard R. Link <firstname.lastname@example.org>
Date: Fri Aug 18 16:29:10 2006 +0200
Xaw's tooltips remove timers not belonging to them