[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#383649: Xaw's tooltips remove timers not belonging to them



Package: libxaw6
Version: 1:1.0.1-5

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.)

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[0], XtNtip, &info->tip->tip.label);
     XtSetArg(args[1], XtNinternational, &info->tip->tip.international);
     XtSetArg(args[2], XtNencoding, &info->tip->tip.encoding);

This is the correct bahaviour, as 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.

Hochachtungsvoll,
	Bernhard R. Link



Reply to: