Closed Bug 368249 Opened 18 years ago Closed 17 years ago

text stops rendering after certain Y position in div

Categories

(Core :: Widget: Win32, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 215055
mozilla1.9alpha8

People

(Reporter: vlad, Unassigned)

Details

Attachments

(1 file)

In the attached testcase, text stops rendering after line 2048.  My guess is that we need to condition the text destination coordinates.
Flags: blocking1.9+
Attached file testcase.
Testcase.  Text stops rendering after line 2048.
frame tree dump... 15 twips per pixel.  line 2048 is the last one that renders.

line 055CDA28: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:linebr[0x5100] {0,491280,4200,240} <
  Text(17)@055CD9E4[899,36,F]  next=055CDA50 prev-continuation=055CD978 next-continuation=055CDA50 {0,491280,4200,240} [state=00400004] sc=0364D7F4 pst=:-moz-non-element<
    "2048 TEST  Greetings from New York!\n"
  >
>
line 055CDA94: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:linebr[0x5100] {0,491520,4200,240} <
  Text(17)@055CDA50[935,36,F]  next=055CDABC prev-continuation=055CD9E4 next-continuation=055CDABC {0,491520,4200,240} [state=00400004] sc=0364D7F4 pst=:-moz-non-element<
    "2049 TEST  Greetings from New York!\n"
  >
>
line 055CDB00: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:linebr[0x5100] {0,491760,4200,240} <
  Text(17)@055CDABC[971,36,F]  next=055CDB28 prev-continuation=055CDA50 next-continuation=055CDB28 {0,491760,4200,240} [state=00400004] sc=0364D7F4 pst=:-moz-non-element<
    "2050 TEST  Greetings from New York!\n"
  >
>

2048 is at 32752.0, and is the last one that does show up
2049 is at 32768.0, and is the first one that doesn't show up
2050 is at 32784.0

We're not reaching nsThebesRenderingContext::DrawStringInternal here at all, so something is deciding early on to not render anything with a y coordinate that would overflow a 16-bit signed int.
Ok, this isn't a cairo/thebes bug -- this happens with Firefox 2 as well.

The problem is that for the innermost content, the <pre>, we're creating a widget.  According to Spy++, we're creating a widget that's 32767 pixels tall.  When we get to the point where the text stops scrolling, I can use Spy++ to highlight the widget -- that widget ends right at the bottom part of the last line that's drawn.  So that's why we're not drawing anything beyond that -- we never receive paint events for that area, because there's no actual OS widget there.
Assignee: vladimir → win32
Component: GFX: Thebes → Widget: Win32
QA Contact: thebes → ian
The bug happens when any of these CSS are used:

style="overflow:auto"
style="overflow-x:auto" 
style="overflow-y:auto" 
style="overflow:scroll"
style="overflow-x:scroll"
style="overflow-y:scroll"

No problems when "hidden", or "visible" attributes are used.



Target Milestone: --- → mozilla1.9beta1
There are a zillion dupes of this bug. This should not be blocking. The compositor will fix it.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
The compositor isn't going in for Gecko 1.9...

Vlad and roc, should this bug (and the bug it's marked as a dup of) be blocking1.9+ ?  Currently, this bug is marked as blocking but the bug it's marked as a dup of hasn't been nominated.
I don't think this should block; we won't be able to fix widget coordinate overflow issues in 1.9.
Whiteboard: DUPEME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: