Closed
Bug 9037
Opened 26 years ago
Closed 26 years ago
Absolute position GFX text field asserts on resize of window
Categories
(Core :: Layout, defect, P3)
Tracking
()
VERIFIED
WORKSFORME
People
(Reporter: rods, Assigned: troy)
Details
It asserts with a placeholder frame being null, this does happen for native
widgets.
Test Case:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
<FORM METHOD="POST">
<input type=text value="" size=10 style="position:absolute;top:64px;left:35px;">
</form>
</body>
</html>
Stack trace:
nsDebug::Assertion(char * 0x01f26a7c, char * 0x01f26a60, char * 0x01f26a28, int
0x000001aa) line 167 + 13 bytes
nsHTMLReflowState::InitAbsoluteConstraints(nsIPresContext & {...}, const
nsHTMLReflowState * 0x0012e330, int 0x00000636, int 0x40000000) line 426 + 32
bytes
nsHTMLReflowState::InitConstraints(nsIPresContext & {...}) line 965
nsHTMLReflowState::Init(nsIPresContext & {...}) line 146
nsHTMLReflowState::nsHTMLReflowState(nsIPresContext & {...}, const
nsHTMLReflowState & {...}, nsIFrame * 0x015c8a40, const nsSize &
{width=0x00000636 height=0x40000000}, nsReflowReason eReflowReason_Resize) line
107
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x015c8a40, const nsRect &
{x=0x00000000 y=0x00000000 width=0x00000636 height=0x40000000}, int 0x00000001,
int 0x00000000, int 0x00000001, nsMargin & {top=0x00000000 right=0x00000000
bottom=0x00000005 left=0x00000000}, unsigned int & 0x00000000) line 154
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x015c8b10, int * 0x0012c1cc) line 2493 + 56 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x015c8b10, int
* 0x0012c1cc) line 1983 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1793 + 20 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x015c86e4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 1199 + 18 bytes
nsAreaFrame::Reflow(nsAreaFrame * const 0x015c86e4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 283 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x015c86e0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
RootFrame::Reflow(RootFrame * const 0x015c84b4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 242
nsContainerFrame::ReflowChild(nsIFrame * 0x015c84b0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
nsScrollFrame::Reflow(nsScrollFrame * const 0x015c7734, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 432
nsContainerFrame::ReflowChild(nsIFrame * 0x015c7730, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x015c75d4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 438
PresShell::ResizeReflow(PresShell * const 0x015c6120, int 0x00000636, int
0x0000012c) line 948
PresShell::ResizeReflow(PresShell * const 0x015c6124, nsIView * 0x015c5500, int
0x00000636, int 0x0000012c) line 2087
nsViewManager::SetWindowDimensions(nsViewManager * const 0x015c5eb0, int
0x00000636, int 0x0000012c) line 359
nsViewManager::DispatchEvent(nsViewManager * const 0x015c5eb0, nsGUIEvent *
0x0012ea10, nsEventStatus & nsEventStatus_eIgnore) line 1597
HandleEvent(nsGUIEvent * 0x0012ea10) line 67
nsWindow::DispatchEvent(nsWindow * const 0x015c55d4, nsGUIEvent * 0x0012ea10,
nsEventStatus & nsEventStatus_eIgnore) line 419 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012ea10) line 440
nsWindow::OnResize(nsRect & {x=0x00000000 y=0x00000000 width=0x0000006a
height=0x00000014}) line 2982 + 15 bytes
nsWindow::ProcessMessage(unsigned int 0x00000047, unsigned int 0x00000000, long
0x0012ec44, long * 0x0012ebd8) line 2512 + 24 bytes
nsWindow::WindowProc(void * 0x026e0554, unsigned int 0x00000047, unsigned int
0x00000000, long 0x0012ec44) line 482 + 27 bytes
USER32! 77e71ab7()
USER32! 77e72fbe()
NTDLL! 77f7624f()
DocumentViewerImpl::SetBounds(DocumentViewerImpl * const 0x01581df0, const
nsRect & {x=0x00000000 y=0x00000000 width=0x0000006a height=0x00000014}) line
443
nsWebShell::SetBounds(nsWebShell * const 0x0157bae0, int 0x00000002, int
0x00000002, int 0x0000006a, int 0x00000014) line 1108
nsGfxTextControlFrame::Reflow(nsGfxTextControlFrame * const 0x01578a64,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0x00000000) line 785
nsAbsoluteContainingBlock::ReflowAbsoluteFrame(nsIPresContext & {...}, const
nsHTMLReflowState & {...}, nsIFrame * 0x01578a60, int 0x00000000, unsigned int &
0x00000000) line 216 + 34 bytes
nsAbsoluteContainingBlock::Reflow(nsIPresContext & {...}, const
nsHTMLReflowState & {...}) line 71
nsAreaFrame::Reflow(nsAreaFrame * const 0x01575544, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 288 + 19 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x01575540, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
RootFrame::Reflow(RootFrame * const 0x01575314, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 242
nsContainerFrame::ReflowChild(nsIFrame * 0x01575310, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
nsScrollFrame::Reflow(nsScrollFrame * const 0x01574e44, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 432
nsContainerFrame::ReflowChild(nsIFrame * 0x01574e40, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 392 + 28 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x01574cb4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int &
0x00000000) line 438
PresShell::ResizeReflow(PresShell * const 0x01571800, int 0x00004344, int
0x00002b3e) line 948
PresShell::ResizeReflow(PresShell * const 0x01571804, nsIView * 0x01570700, int
0x00004344, int 0x00002b3e) line 2087
nsViewManager::SetWindowDimensions(nsViewManager * const 0x015703c0, int
0x00004344, int 0x00002b3e) line 359
nsViewManager::DispatchEvent(nsViewManager * const 0x015703c0, nsGUIEvent *
0x0012f7b0, nsEventStatus & nsEventStatus_eIgnore) line 1597
HandleEvent(nsGUIEvent * 0x0012f7b0) line 67
nsWindow::DispatchEvent(nsWindow * const 0x015707d4, nsGUIEvent * 0x0012f7b0,
nsEventStatus & nsEventStatus_eIgnore) line 419 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7b0) line 440
nsWindow::OnResize(nsRect & {x=0x00000000 y=0x00000000 width=0x0000047c
height=0x000002e2}) line 2982 + 15 bytes
nsWindow::ProcessMessage(unsigned int 0x00000047, unsigned int 0x00000000, long
0x0012f9e4, long * 0x0012f978) line 2512 + 24 bytes
nsWindow::WindowProc(void * 0x074503cc, unsigned int 0x00000047, unsigned int
0x00000000, long 0x0012f9e4) line 482 + 27 bytes
USER32! 77e71ab7()
USER32! 77e72fbe()
NTDLL! 77f7624f()
DocumentViewerImpl::SetBounds(DocumentViewerImpl * const 0x015ab390, const
nsRect & {x=0x00000000 y=0x00000000 width=0x0000047c height=0x000002e2}) line
443
nsWebShell::SetBounds(nsWebShell * const 0x014a8e20, int 0x00000000, int
0x00000020, int 0x0000047c, int 0x000002e2) line 1108
nsBrowserWindow::Layout(int 0x0000047c, int 0x0000031a) line 1517
HandleBrowserEvent(nsGUIEvent * 0x0012fb34) line 325
nsWindow::DispatchEvent(nsWindow * const 0x014a84d4, nsGUIEvent * 0x0012fb34,
nsEventStatus & nsEventStatus_eIgnore) line 419 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fb34) line 440
nsWindow::OnResize(nsRect & {x=0xfffffffc y=0xfffffffc width=0x0000047c
height=0x0000031a}) line 2982 + 15 bytes
nsWindow::ProcessMessage(unsigned int 0x00000047, unsigned int 0x00000000, long
0x0012fd68, long * 0x0012fcfc) line 2512 + 24 bytes
nsWindow::WindowProc(void * 0x07a7039e, unsigned int 0x00000047, unsigned int
0x00000000, long 0x0012fd68) line 482 + 27 bytes
USER32! 77e71ab7()
USER32! 77e72fbe()
NTDLL! 77f7624f()
USER32! 77e7288d()
USER32! 77e72918()
nsWindow::WindowProc(void * 0x07a7039e, unsigned int 0x00000112, unsigned int
0x0000f030, long 0x000f024b) line 494
USER32! 77e71ab7()
USER32! 77e71a77()
NTDLL! 77f7624f()
USER32! 77e7288d()
USER32! 77e72918()
nsWindow::WindowProc(void * 0x07a7039e, unsigned int 0x000000a1, unsigned int
0x00000009, long 0x000f024b) line 494
US
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → WORKSFORME
Works fine for me. It's using a native widget and there's no assert. Looking at
the frame construction code it looks just fine, and I don't see a problem. A
placeholder frame is created, and the pres shell is called to add the mapping
from out-of-flow frame to placeholder
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 2•26 years ago
|
||
Using the simple test case provide, I don't see the original problem described.
Tested with July 09 build under Win 98 and Win NT.
You need to log in
before you can comment on or make changes to this bug.
Description
•