added assert to warn you of recursive painting.

This commit is contained in:
michaelp%netscape.com 1998-08-19 20:56:52 +00:00
parent 387a2639f0
commit f2dcddb933
2 changed files with 13 additions and 10 deletions

View File

@ -246,9 +246,7 @@ void nsViewManager :: GetWindowOffsets(nscoord *xoffset, nscoord *yoffset)
nsIScrollableView *scroller;
if (NS_OK == mRootView->QueryInterface(kIScrollableViewIID, (void **)&scroller))
{
scroller->GetVisibleOffset(xoffset, yoffset);
}
else
*xoffset = *yoffset = 0;
}
@ -263,9 +261,7 @@ void nsViewManager :: SetWindowOffsets(nscoord xoffset, nscoord yoffset)
nsIScrollableView *scroller;
if (NS_OK == mRootView->QueryInterface(kIScrollableViewIID, (void **)&scroller))
{
scroller->SetVisibleOffset(xoffset, yoffset);
}
}
}
@ -276,9 +272,7 @@ void nsViewManager :: ResetScrolling(void)
nsIScrollableView *scroller;
if (NS_OK == mRootView->QueryInterface(kIScrollableViewIID, (void **)&scroller))
{
scroller->ComputeContainerSize();
}
}
}
@ -292,6 +286,10 @@ void nsViewManager :: Refresh(nsIView *aView, nsIRenderingContext *aContext, nsI
if (PR_FALSE == mRefreshEnabled)
return;
NS_ASSERTION(!(PR_TRUE == mPainting), "recursive painting not permitted");
mPainting = PR_TRUE;
//printf("refreshing region...\n");
//force double buffering because of non-opaque views?
@ -352,6 +350,8 @@ void nsViewManager :: Refresh(nsIView *aView, nsIRenderingContext *aContext, nsI
mDirtyRegion->Subtract(*region);
mLastRefresh = PR_Now();
mPainting = PR_FALSE;
}
void nsViewManager :: Refresh(nsIView *aView, nsIRenderingContext *aContext, nsRect *rect, PRUint32 aUpdateFlags)
@ -363,6 +363,10 @@ void nsViewManager :: Refresh(nsIView *aView, nsIRenderingContext *aContext, nsR
if (PR_FALSE == mRefreshEnabled)
return;
NS_ASSERTION(!(PR_TRUE == mPainting), "recursive painting not permitted");
mPainting = PR_TRUE;
//force double buffering because of non-opaque views?
//printf("refreshing rect... ");
@ -448,6 +452,8 @@ void nsViewManager :: Refresh(nsIView *aView, nsIRenderingContext *aContext, nsR
#endif
mLastRefresh = PR_Now();
mPainting = PR_FALSE;
}
void nsViewManager :: Composite()
@ -1058,9 +1064,7 @@ void nsViewManager :: ShowQuality(PRBool aShow)
nsIScrollableView *scroller;
if (NS_OK == mRootView->QueryInterface(kIScrollableViewIID, (void **)&scroller))
{
scroller->ShowQuality(aShow);
}
}
PRBool nsViewManager :: GetShowQuality(void)
@ -1069,9 +1073,7 @@ PRBool nsViewManager :: GetShowQuality(void)
PRBool retval = PR_FALSE;
if (NS_OK == mRootView->QueryInterface(kIScrollableViewIID, (void **)&scroller))
{
retval = scroller->GetShowQuality();
}
return retval;
}

View File

@ -132,6 +132,7 @@ private:
nsIRegion *mDirtyRegion;
PRInt32 mTransCnt;
PRBool mRefreshEnabled;
PRBool mPainting;
nsIView *mMouseGrabber;
nsIView *mKeyGrabber;