Closed Bug 18163 Opened 25 years ago Closed 24 years ago

Empty widgets result in uninitialized bitmaps

Categories

(Core Graveyard :: GFX, defect, P3)

x86
Windows 98
defect

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: oseiler, Assigned: kmcclusk)

References

()

Details

Attachments

(1 file)

Using M10 on Windows 98. The test case is very simple: creates a single
DIV element whose style sheet definition applies only fixed positioning.
The result for me is a very corrupted layout (see
http://erisian.com/~oseiler/mozilla/test1.gif ; the actual corruption
is pretty random, and seems to just be uninitialized display memory...)
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
I can't reproduce it in a more recent build. It was probably fixed as part of the

content sink changes, like bug 15630 "[CRASH] Wonko.com main table shown twice".
Status: RESOLVED → REOPENED
Using 11/16 builds on Win 95, Win 98, Mac and Linux. Problem still exists. Win
95 and Win 98 corrupt the page; on Linux, the page is black; on Mac the text
displays too far up at the top left corner. Behavior is mixed across platform
but problems exist on each. Reopening bug.
Resolution: FIXED → ---
Clearing FIXED resolution due to reopen.
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
Fix checked in nsHTMLContainerFrame.cpp. Don't create empty widgets for fixed
positioned elements in order to avoid problems in the View Manager
(GetDrawingSurface) where we end up copying uninitialized bitmaps to the screen.
The main reason for fixing the bug here instead of within the View Manager is
that we'll get rid of widgets altogether over time.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reopening again. My change had the effect of getting rid of the widgets for *all*
fixed positioned elements. Removing widgets is a goal at term but it's something
that we want to leave to the View Manager folk(s) or at least do in sync with
them. It seemed to work, though.
Status: REOPENED → ASSIGNED
Assignee: pierre → beard
Status: ASSIGNED → NEW
Summary: Use of fixed positioning in style sheet corrupts display → Empty widgets result in uninitialized bitmaps
Changing the title to "Empty widgets result in uninitialized bitmaps" from "Use
of fixed positioning in style sheet corrupts display".

Reassigning to beard. Patrick: in the testcase above, the fixed positioned
element creates an empty widget and it looks like GetDrawingSurface() gets
confused and re-uses bitmaps when it shouldn't. I don't know whether the bug is
related to empty widgets or to empty drawing surfaces. If it is empty widgets
only, you may consider closing it as WontFix or lowering the priority because we
are going to get rid of the widgets anyway.
Status: NEW → ASSIGNED
Target Milestone: M13
What is an "emtpy widget?" Is it a widget with zero area?
Yep: similarly to an empty rect or an empty region, an empty widget has a width

and height of 0.
Target Milestone: M13 → M15
Can this be pushed to M16? ...or is this now being considered an M15 stopper?  
We're trying to cut the M15 checkpoint branch, and concerned about this item in 
the list.
Thanks.
-> M16
Target Milestone: M15 → M16
Can't reproduce on either Mac or Linux.
Assignee: beard → pierre
Status: ASSIGNED → NEW
It is still very much broken on Windows. I'm going to attach a better testcase. 
Load it, resize the window... Nice isn't it?

beard is no longer in charge of the View Manager: reassigning to Compositor.
I don't think this must be fixed for M16, but certainly sometime before we ship.
Assignee: pierre → kmcclusk
Component: Style System → Compositor
QA Contact: chrisd → petersen
The bug can only be reproduced on Windows. On the Mac however, if I resize the 
window to make it fairly narrow (a single column of "qwertyuiop"), I get the 
following assert:
     ###!!! ASSERTION: CalculateDiscreteSize failed: 'PR_FALSE',
     file nsViewManager2.cpp, line 1941
Moving to M17
Status: NEW → ASSIGNED
Target Milestone: M16 → M17
I tried it on both WINNT and WIN98 with a 5/16/2000 build and it works fine for 
me. I also compared it against I.E 5.0.

Marking as WORKSFORME.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago24 years ago
Resolution: --- → WORKSFORME
Status: RESOLVED → VERIFIED
Marking verified works for me.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: