summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard R. Link <brlink@debian.org>2006-08-18 16:29:10 +0200
committerJulien Cristau <jcristau@debian.org>2009-08-25 19:47:17 +0200
commitb512bfc3fb5c489f4e1ef6529f7632bd70b9f461 (patch)
treeab2059dc187fcd919c59ec576f2119d60e0ab6fe
parent2ef9c2d730200246405cfdfc882a66fbd6728a92 (diff)
Xaw's tooltips remove timers not belonging to them
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 this number.) Section 7.1.3 of Intrinsic.txt.gz says: | Note that timeouts are automatically removed once they trig- | ger. 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. X.Org bug#9936 <http://bugs.freedesktop.org/show_bug.cgi?id=9936>
-rw-r--r--src/Tip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Tip.c b/src/Tip.c
index f2168a6..11f4c26 100644
--- a/src/Tip.c
+++ b/src/Tip.c
@@ -564,6 +564,7 @@ TipTimeoutCallback(XtPointer closure, XtIntervalId *id)
info->tip->tip.label = NULL;
info->tip->tip.international = False;
info->tip->tip.encoding = 0;
+ info->tip->tip.timer = 0;
XtSetArg(args[0], XtNtip, &info->tip->tip.label);
XtSetArg(args[1], XtNinternational, &info->tip->tip.international);
XtSetArg(args[2], XtNencoding, &info->tip->tip.encoding);