Bug 30317: Crash fix for scrolling=no, background-attachment: fixed pages r=evaughan, a=rickg
git-svn-id: svn://10.0.0.236/trunk@62458 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
ed33d6dad3
commit
4230c172e4
@ -2391,10 +2391,12 @@ nsCSSFrameConstructor::ConstructDocElementFrame(nsIPresShell* aPresShell,
|
||||
parentFrame->GetView(aPresContext, &view);
|
||||
}
|
||||
|
||||
NS_ASSERTION(view, "expected a view");
|
||||
PRUint32 viewFlags;
|
||||
view->GetViewFlags(&viewFlags);
|
||||
view->SetViewFlags(viewFlags | NS_VIEW_PUBLIC_FLAG_DONT_BITBLT);
|
||||
// Not all shells have scroll frames, even in scrollable presContext (bug 30317)
|
||||
if (view) {
|
||||
PRUint32 viewFlags;
|
||||
view->GetViewFlags(&viewFlags);
|
||||
view->SetViewFlags(viewFlags | NS_VIEW_PUBLIC_FLAG_DONT_BITBLT);
|
||||
}
|
||||
}
|
||||
|
||||
// Set the initial child lists
|
||||
|
||||
@ -2023,8 +2023,10 @@ PRInt16 borderRadii[4],i;
|
||||
scrollFrame = GetNearestScrollFrame(aForFrame);
|
||||
|
||||
// Get the viewport size
|
||||
clipView = GetClipView(aPresContext, scrollFrame);
|
||||
clipView->GetDimensions(&viewportArea.width, &viewportArea.height);
|
||||
if (scrollFrame) { // XXX This is a band-aid crash fix, see bug 30317.
|
||||
clipView = GetClipView(aPresContext, scrollFrame);
|
||||
clipView->GetDimensions(&viewportArea.width, &viewportArea.height);
|
||||
}
|
||||
}
|
||||
|
||||
// Compute the anchor point. If it's a fixed background attachment, then
|
||||
|
||||
@ -2391,10 +2391,12 @@ nsCSSFrameConstructor::ConstructDocElementFrame(nsIPresShell* aPresShell,
|
||||
parentFrame->GetView(aPresContext, &view);
|
||||
}
|
||||
|
||||
NS_ASSERTION(view, "expected a view");
|
||||
PRUint32 viewFlags;
|
||||
view->GetViewFlags(&viewFlags);
|
||||
view->SetViewFlags(viewFlags | NS_VIEW_PUBLIC_FLAG_DONT_BITBLT);
|
||||
// Not all shells have scroll frames, even in scrollable presContext (bug 30317)
|
||||
if (view) {
|
||||
PRUint32 viewFlags;
|
||||
view->GetViewFlags(&viewFlags);
|
||||
view->SetViewFlags(viewFlags | NS_VIEW_PUBLIC_FLAG_DONT_BITBLT);
|
||||
}
|
||||
}
|
||||
|
||||
// Set the initial child lists
|
||||
|
||||
@ -2023,8 +2023,10 @@ PRInt16 borderRadii[4],i;
|
||||
scrollFrame = GetNearestScrollFrame(aForFrame);
|
||||
|
||||
// Get the viewport size
|
||||
clipView = GetClipView(aPresContext, scrollFrame);
|
||||
clipView->GetDimensions(&viewportArea.width, &viewportArea.height);
|
||||
if (scrollFrame) { // XXX This is a band-aid crash fix, see bug 30317.
|
||||
clipView = GetClipView(aPresContext, scrollFrame);
|
||||
clipView->GetDimensions(&viewportArea.width, &viewportArea.height);
|
||||
}
|
||||
}
|
||||
|
||||
// Compute the anchor point. If it's a fixed background attachment, then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user