1. RE: Update on the Fast-Switching/Judith's IDE issue
Thanks, Travis/Euman, for the heads-up about the releaseDC statement.
Here is another mystery that has been submitted:
IDE hangs when the system colors are changed and the IDE is
minimized.
~judith
Travis wrote:
SNIP
By the way, Judith ...
In IDE_syntax.ew, at line 2611, you have the following code:
Void = getDC( Syntax )
putFontIntoDC( Syntax, Void, "Fixedsys", 9 )
releaseDC( Syntax )
Are you sure that the last line should not read
releaseDC(Void) ?
Euman noticed this as we were investigating. Not sure it has a bearing on
the problem at hand, but may be a bug nevertheless.
Travis W. Beaty
2. RE: Update on the Fast-Switching/Judith's IDE issue
Travis Beaty wrote:
>
>
> Hello all!
>
> Just to let you know, Euman and I have been working on the problem,
> which
> we are now sure is not being caused by win32lib.ew. (Sorry about that,
> Derek, you may flog me with a wet noodle at your convenience.)
FLOG! Did you feel that?
I'm back from 2 weeks vacation and find 560+ emails waiting (not
including ones from EUForum). It may be a little time before I can
address any win32lib issues.
> We believe at this point that the issue is somewhere in prop.ew. I
> replaced the warnErr() call in win32lib.ew's bitBlt() routine with the
> classic ? 1/0 crash, and from that it seems that the cascade of errors
> in
> Judith's IDE is originating from onPaint_Properties() in prop.ew. (Line
> 170). I'm thinking at this point that there is an unforeseen change
> occurring in the window handles as this routine is being called, during
> the
> time that it is running in one account while someone is logged into
> another
> one. I've checked the values of the parameters pWin, pPixmap,
> pScrollPts,
> pCX, and pCY up until the error actually happens, and if these values
> are
> changing in an uncouth way, I sure can't see it. (I checked by logging
> the
> values to a dumpfile via printf().)
A common problem is when a coder does not handle the situation where a
Paint handler gets invoked while already inside the paint handler. This
can sometimes lead to a recursive error, of the nature being described.
> By the way, Judith ...
>
> In IDE_syntax.ew, at line 2611, you have the following code:
>
> Void = getDC( Syntax )
> putFontIntoDC( Syntax, Void, "Fixedsys", 9 )
> releaseDC( Syntax )
>
> Are you sure that the last line should not read
>
> releaseDC(Void) ?
>
> Euman noticed this as we were investigating. Not sure it has a bearing
> on
> the problem at hand, but may be a bug nevertheless.
This should NOT read "releaseDC(Void)". Judith's code is correct, but
unfortunately a waste of energy.
If this code is not in a Paint handler then it could be deleted as it
does nothing effective.
--
Derek