> From: Philip Hazel [
mailto:ph10@cus.cam.ac.uk]
> Sent: 03 July 2001 15:09
>
> Looks like some problem interacting with your system. What "Update" is
> supposed to do is to scan the queue, and update the in-memory list of
> messages that Eximon is keeping. Then it should empty the display, and
> re-display the data it has got. So there are two places it could be
> going wrong:
>
> 1. It might not be recognizing existing data, and so adding new copies
> of what it already has.
>
> 2. It might be keeping the data correctly, but failing to clear the
> display before writing the new list. The clearing is a very simple
> function:
>
> /*************************************************
> * Empty the widget *
> *************************************************/
>
> void text_empty(Widget w)
> {
> XawTextBlock b;
> b.firstPos = 0;
> b.ptr = (char *)(&b);
> b.format = FMT8BIT;
> b.length = 0;
> XawTextReplace(w, 0, 999999, &b);
> }
>
> (This is in the exim_monitor/em_text.c source file.) You
> could add some
> debugging and see if it helps. For example, change the last line to
>
> printf("**** About to wipe the text display\n");
> sleep(5);
> printf("**** Pow!\n");
>
> XawTextReplace(w, 0, 999999, &b);
>
> printf("**** It should be empty now\n");
> sleep(5);
>
>
> The output will go to stdout and should appear on your screen.
I added in the debugging you suggested, it looks like the XawTextReplace
call is failing.. the second of your scenarios.
The mainlog tail text-box appears to be behaving strangely too. The window
scrolls to the far right of the horizontal scroll. I didn't bring it up
before as it seemed a bit picky, but now it might add further weight to
there being some discrepancy with the X libraries.
I've got XFree86-4.0.3 and Xaw3d-1.5.
Matt.