>Hi there,
>
>I currently am updating some programs used to visualize factory floor
>process information at our site from 0.89.9 to 0.91.4. During that I
>came to some minor changes I had to do, to get these running stable.
>
>A patch file for vanilla 0.91.4 is included. Here are the main areas
>I touched, and some reasoning about them:
>
>1. lib/Xm/List.c
>   Performance gains while updating undisplayed items. I checked this
>   very seriously and didn't find any argument against it. It removes
>   nearly all flicker while updating large lists (that are mostly off
>   screen) and it is fairly small change.

Idea sounds reasonable to me ...
Hmm, doesn't apply on my current cvs version, I should try
with a more recent version of patch perhaps.

>2. lib/Xm/Text.c 
>   ensure that subscripts are valid (even though they should already
>   be, our programs manages to core dump occasionaly here). Adding some
>   trivial tests, that have no real impact on performance but make
>   (at least our) programs a lot more stable.

I can't follow here.
In my understanding of the code it is _impossible_ to end up with
i <= 0 in the line
 Text_Line(w)[i - 1].changed = True;

My conclusion would be therefore that the error is not "here".
(see below)
Did you a) debug on a non-optimized executable and/or
b) have a powerful system to run a malloc checker on the
app?

>3. lib/Xm/String.c
>   ensure memory gets freed only if it has been allocated. This seems
>   to be a rare event, but sometimes it crashes our programs. The check
>   is trivial, and no real impact on performance was seen.

Haven't looked here in detail, also smells a bit like
a "bug_but_not_here" as above. This means having a bug within
LessTif which causes both is not very unlikely, but I'm just
not sure they are where you "fixed" them ...

Bye,

-- 
Alexander Mai
[EMAIL PROTECTED]

Reply via email to