Closed Bug 27602 Opened 25 years ago Closed 25 years ago

nested div not clipping, trashing screen

Categories

(Core :: Layout, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 11660

People

(Reporter: crawdad, Assigned: beard)

References

()

Details

1 - Nest div-boxes.
2 - Move child-divbox past parent's border..
3 - Child divbox should clip.
In M-13, child remains visible, and produces terrible screen-garbage.

ex_css1.html contains all needed to cause prob, no extern..

(works fine in IE-5)
(using M-13 build, NT4.0, PChardware)
contact crawdad@io.com for info if needed
A cleaner version can be found at..
http://www.w3cdom.com/lab/ex_css1b.html

Earlier versiuon had no doctype.
Cliiping problem, Screen trashing are STILL present in clean version.

DUP of bug #11660

*** This bug has been marked as a duplicate of 11660 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
I do not believe this BUG is a duplicate of 11660...
the main gist of the report is the SCREEN GARBAGE produced at the listed URL...
1- go to the isted URL http://www.w3cdom.com/lab/ex_css1b.html
2- click button till child is completely outside parent
3 - NOTE SCREEN GARBAGE in uninvolved regions (if you see no screen trash, 
minimize then restore...)...  Mozilla is consistently reproducing the top of the 
GUI inside the client area, where it doesn't belong.
This is NOT a "feature issue" but serious screen corruption.
(if you see no screen trash, minimize then restore...)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Changing component to view manager. I think this is a bug of 11660, but I'll 
leave that to the module owner of the compositor to diagnosis
Assignee: troy → beard
Status: REOPENED → NEW
Component: Layout → Compositor
This is a layout bug:  when div id="three" is moved by the DOM, the values passed 
to nsIView::SetClip are always (left=0, right=2010, top=0, bottom=2010), so the 
overflow clipping isn't being computed correctly. There's currently a bug in the 
way clipping is being interpreted in nsView.cpp, which I've fixed in my tree, but 
that's not the actual problem. Here's the diff for that:

Index: mozilla/view/src/nsView.cpp
===================================================================
RCS file: /cvsroot/mozilla/view/src/nsView.cpp,v
retrieving revision 3.114
diff -r3.114 nsView.cpp
276c276
< 				if ((mClip.mLeft != 0) && (mClip.mRight != 0) && (mClip.mTop 
!= 0) && (mClip.mBottom != 0)) {
---
> 				if ((mClip.mLeft != mClip.mRight) && (mClip.mTop != mClip.mBottom)) {
975c975
<   if ((mClip.mLeft == 0) && (mClip.mRight == 0) && (mClip.mTop == 0) && 
(mClip.mBottom == 0))
---
>   if ((mClip.mLeft == mClip.mRight) || (mClip.mTop == mClip.mBottom)) {
977c977
<   else {
---
>   } else {
Assignee: beard → troy
Component: Compositor → Layout
No, it's irrelevant what the clip is set to for div id="three".

The issue is that once div id="three" moves outside of its parent's box (div 
id="bottom"), then it should be clipped by its parent.

Are you saying that as div id="three" moves the clip values specified by div 
id="bottom" changes? I assume not.

The issue is whether the compositor is clipping child views. If it is and the 
clip for div id="bottom" is being set correctly by layout, then once div 
id="three" moves outside of its parent's bounding rect then the part that 
extends outside should get clipped
Assignee: troy → beard
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → DUPLICATE
Yes, this really is a duplicate of #11660.


*** This bug has been marked as a duplicate of 11660 ***
Marking verified dup of 11660.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.