Don't make clip view optimizations when the clip view contains Z placeholders. b=225811 Patch by Robert O'Callahan <roc@ocallahan.org>. r+sr=dbaron a=asa

This commit is contained in:
dbaron%dbaron.org 2003-12-17 21:05:37 +00:00
Родитель f5dbe7d7d9
Коммит fa116f2651
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -3406,8 +3406,9 @@ PRBool nsViewManager::CreateDisplayList(nsView *aView, PRBool aReparentedViewsPr
bounds.y += aY; bounds.y += aY;
pos.MoveBy(aX, aY); pos.MoveBy(aX, aY);
// is this a clip view? // does this view clip all its children?
PRBool isClipView = IsClipView(aView); PRBool isClipView = IsClipView(aView)
&& !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER);
PRBool overlap; PRBool overlap;
nsRect irect; nsRect irect;
@ -3445,8 +3446,7 @@ PRBool nsViewManager::CreateDisplayList(nsView *aView, PRBool aReparentedViewsPr
// visible area can lie outside our bounds, so it can't intersect // visible area can lie outside our bounds, so it can't intersect
// the dirty area. Also, if we don't contain any placeholder views, // the dirty area. Also, if we don't contain any placeholder views,
// then there is no way for anyone to reparent below us. // then there is no way for anyone to reparent below us.
if (!overlap && (isClipView || if (!overlap && !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER)) {
(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER) == 0)) {
return PR_FALSE; return PR_FALSE;
} }