olson@endor.harvard.edu (Eric K. Olson) (07/06/90)
What happens when ValidRect() or InvalRect() (or the Rgn equivalents) are called between BeginUpdate() and EndUpdate()? I'm specifically interested in ValidRect()... Since BeginUpdate() replaces the visRgn with the intersection of the visRgn and the updateRgn, and then sets the updateRgn to an empty region, I would assume that any ValidRect() call would essentially be ignored until EndUpdate() is executed. But this doesn't seem to be the case. Does ValidRect() check to see if an update is currently in progress, and modify the visRgn instead if it is? Specifically, I have some code that essentially does: BeginUpdate(); LUpdate(visRgn, listHandle); EndUpdate(); LUpdate calls ValidRect() on the rect that would contain the scroll bars, even if the list doesn't have scroll bars (this is the behavior I want to fix). And it seems to validate the rectangle in the update, even though its inside a BeginUpdate()...EndUpdate() set. But what region is it modifying? It can't be the updateRgn: that's empty! -Eric --- Eric K. Olson Internet: olson@endor.harvard.edu Lexington Software Design Usenet: harvard!endor!olson 72A Lowell St. Applelink: olson@endor.harvard.edu@dasnet# Lexington, MA 02173 Compuserve: >INTERNET:olson@endor.harvard.edu (617) 863-9624 Bitnet: OLSON@HARVARD Eric K. Olson Internet: olson@endor.harvard.edu Lexington Software Design Usenet: harvard!endor!olson 72A Lowell St. Applelink: olson@endor.harvard.edu@dasnet# Lexington, MA 02173 Compuserve: >INTERNET:olson@endor.harvard.edu (617) 863-9624 Bitnet: OLSON@HARVARD