From 0702ac1728a17b4317958a0aaa82dba42b8b0b5b Mon Sep 17 00:00:00 2001 From: "dbaron%dbaron.org" Date: Wed, 17 Dec 2003 21:05:37 +0000 Subject: [PATCH] Don't make clip view optimizations when the clip view contains Z placeholders. b=225811 Patch by Robert O'Callahan . r+sr=dbaron a=asa git-svn-id: svn://10.0.0.236/trunk@150400 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/view/src/nsViewManager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mozilla/view/src/nsViewManager.cpp b/mozilla/view/src/nsViewManager.cpp index 60730fc70de..c2883d7e676 100644 --- a/mozilla/view/src/nsViewManager.cpp +++ b/mozilla/view/src/nsViewManager.cpp @@ -3406,8 +3406,9 @@ PRBool nsViewManager::CreateDisplayList(nsView *aView, PRBool aReparentedViewsPr bounds.y += aY; pos.MoveBy(aX, aY); - // is this a clip view? - PRBool isClipView = IsClipView(aView); + // does this view clip all its children? + PRBool isClipView = IsClipView(aView) + && !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER); PRBool overlap; 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 // the dirty area. Also, if we don't contain any placeholder views, // then there is no way for anyone to reparent below us. - if (!overlap && (isClipView || - (aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER) == 0)) { + if (!overlap && !(aView->GetViewFlags() & NS_VIEW_FLAG_CONTAINS_PLACEHOLDER)) { return PR_FALSE; }