RE: Update on the Fast-Switching/Judith's IDE issue
- Posted by Derek Parnell <ddparnell at bigpond.com> Jan 27, 2004
- 401 views
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