Closed
Bug 561388
Opened 16 years ago
Closed 16 years ago
unexpected horizontal line repaint issue in pull-down menulist
Categories
(Core :: Layout, defect, P2)
Core
Layout
Tracking
()
RESOLVED
FIXED
| Tracking | Status | |
|---|---|---|
| blocking2.0 | --- | final+ |
People
(Reporter: alice0775, Assigned: roc)
References
Details
(Keywords: regression)
Attachments
(3 files, 1 obsolete file)
|
424.16 KB,
image/jpeg
|
Details | |
|
346 bytes,
text/html
|
Details | |
|
174 bytes,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a5pre) Gecko/20100423
Minefield/3.7a5pre ID:20100423040128.
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a5pre) Gecko/20100423
Minefield/3.7a5pre ID:20100423040128.
Option > Applications pane
When i mouse over pull-down list of actions Menu, unexpected horizontal line
will remain.
It happens with "Windows Classic" visual style. does not happens with "Aero Peek" visual style.
A similar Bug 549630, but it is different regression range.
Reproducible: Always
Steps to Reproduce:
1.Start Minefield with New profile
2.Option > Applications pane
3.Mouse over pull-down list of actions Menu
Actual Results:
unexpected horizontal line will remain
Expected Results:
No unexpected horizontal line
regression window:
Works:
http://hg.mozilla.org/mozilla-central/rev/560eb81389cc
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a5pre) Gecko/20100422
Minefield/3.7a5pre ID:20100422172405
Fails:
http://hg.mozilla.org/mozilla-central/rev/a9ec36359a4c
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a5pre) Gecko/20100422
Minefield/3.7a5pre ID:20100422211905
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=560eb81389cc&tochange=a9ec36359a4c
| Reporter | ||
Comment 1•16 years ago
|
||
Checked in Bug 556052 cause this probrem.
Blocks: 556052
| Assignee | ||
Updated•16 years ago
|
Assignee: nobody → roc
blocking2.0: --- → ?
Comment 2•16 years ago
|
||
The problem also happens in Thunderbird nightlies since about 25-4-2010.
Comment 3•16 years ago
|
||
Alice: Your 'fails' & 'works' build IDs are identical in comment 0 -- I think you meant the 'fails' one to be a day later, for 4/23. Assuming that's correct, I can confirm this bug on Linux, with the same nightly regression range. Seems to happen specifically when a <select> box is at a fractional y-position.
OS: Windows 7 → All
Hardware: x86 → All
Comment 4•16 years ago
|
||
This testcase reproduces the issue for me, starting with the 2010-04-23 nightly.
Comment 5•16 years ago
|
||
Was looking at this code for zoom stuff and I think I stumbled upon the problem here. We add the ViewToWidgetOffset to view coordinates to get widget coordinates, so we should subtract the widget coordinates from the view coordinates when calculating this offset.
Attachment #442446 -
Flags: review?(roc)
| Assignee | ||
Comment 6•16 years ago
|
||
See bug 556052 comment 27. This patch regresses bug 556052. Especially see this testcase on Mac. You probably don't have a Mac though...
https://bugzilla.mozilla.org/attachment.cgi?id=442538
Having said that, I think your patch is right, and I was wrong in bug 556052 comment 27.
Updated•16 years ago
|
Attachment #442446 -
Flags: review?(roc)
Comment 8•16 years ago
|
||
Comment on attachment 442446 [details] [diff] [review]
fix?
Can we get this patch through the process of reviewing, approving and submitting?
Attachment #442446 -
Flags: review?(roc)
Comment 9•16 years ago
|
||
Comment on attachment 442446 [details] [diff] [review]
fix?
This patch causes other regressions, so we can't take it until we fix those other regressions.
Attachment #442446 -
Flags: review?(roc)
| Assignee | ||
Updated•16 years ago
|
blocking2.0: ? → final+
Priority: -- → P2
Comment 10•16 years ago
|
||
Hasn't this bug cropped up before? Do we not have a test for this?
Comment 11•16 years ago
|
||
Bleh, bug 472769 was the previous issue, and it does have reftests. I guess they just don't cover this case!
Comment 12•16 years ago
|
||
I think the reason that we do not have a test for this is that there is currently no way to test this.
| Assignee | ||
Comment 14•16 years ago
|
||
mViewToWidgetOffset is confusing me again.
In this testcase the frame tree looks like this:
Viewport(-1)@0x14f28b0 [view=0x19075eb0] {0,0,75120,51360} [state=00042020] [content=0x0] [sc=0x14f2730] pst=:-moz-viewport<
HTMLScroll(html)(-1)@0x223912d8 {0,0,75120,51360} [state=00040010] [content=0x1907f380] [sc=0x22390e10] pst=:-moz-viewport-scroll<
Canvas(html)(-1)@0x22391158 {0,0,75120,51360} [state=00040000] [content=0x1907f380] [sc=0x22391030] pst=:-moz-scrolled-canvas<
Block(html)(-1)@0x22397218 [content=0x1907f380] {0,0,75120,480} [state=00d00000] sc=0x223971b8(i=0,b=1)<
line 0x22397610: count=1 state=block,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:nobr[0x8348] bm=480 {480,0,74160,0} ca={480,480,74160,0} <
Block(body)(1)@0x223975a8 [content=0x19081040] {480,480,74160,0} [state=00100000] sc=0x223974a8(i=1,b=0)<
line 0x223978c8: count=1 state=inline,clean,prevmarginclean,not impacted,not wrapped,before:nobr,after:nobr[0x8300] {0,0,0,0} <
Placeholder(embed)(1)@0x22397890 {0,0,0,0} [state=00200000] [content=0x19084550] outOfFlowFrame=ObjectFrame(embed)(1)@0x22397800
>
>
>
>
>
Absolute-list<
ObjectFrame(embed)(1)@0x22397800 [view=0x19084920] {7218,600,6000,6000} [state=00002110] [content=0x19084550]
>
>
>
In nsIView::CalcWidgetBounds, newBounds.x is 120, which is correct (the edge is snapped from 120.3 to the nearest pixel). But since the view origin is at 120.3, the view-to-widget offset should be 0.3px. But with your patch it's -0.3.
| Assignee | ||
Comment 15•16 years ago
|
||
(In reply to comment #5)
> Was looking at this code for zoom stuff and I think I stumbled upon the problem
> here. We add the ViewToWidgetOffset to view coordinates to get widget
> coordinates, so we should subtract the widget coordinates from the view
> coordinates when calculating this offset.
The thing is, the current code *does* subtract widget coordinates. roundedOffset.TopLeft() is the top-left of the widget, relative to the parent widget.
Comment 16•16 years ago
|
||
(In reply to comment #15)
> The thing is, the current code *does* subtract widget coordinates.
> roundedOffset.TopLeft() is the top-left of the widget, relative to the parent
> widget.
Yeah, looks like the patch is wrong.
Updated•16 years ago
|
Attachment #442446 -
Attachment is obsolete: true
Comment 18•16 years ago
|
||
Bug 575146 comment 3 indicates D2D is affected differently by this bug. Or at least I think it is the same bug. This is a reminder comment to check that D2D is also fixed when this bug is fixed.
Comment 20•16 years ago
|
||
The new client area patches may have touched this and made it more common. Or maybe everybody is just hyper sensitive to drawing related issues right now. :)
Comment 21•16 years ago
|
||
I can't reproduce on the testcase or in the places I usually see this. Does anybody else still see this? I wonder if retained layers fixed this.
Comment 22•16 years ago
|
||
I used to see it in my own builds on some sites, but I can't reproduce anymore either.
Comment 23•16 years ago
|
||
With nightlies I no longer see the problem I reported in bug 575146.
Comment 24•16 years ago
|
||
Calling this fixed. If anyone still sees the problem please reopen.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
I used to see this on Cars.com w/trunk, but no longer there, either; thanks!
Comment 26•16 years ago
|
||
This was probably fixed when patch for bug #579264 landed
Comment 27•16 years ago
|
||
Marking as fixed by bug 579264.
I verified this with an old build of Shredder and my theme Nautipolis which had serious 'horizontal lines' issues, but with the current nightly of Shredder the lines don't appear anymore.
Resolution: WORKSFORME → FIXED
Comment 28•16 years ago
|
||
For bug archaeology purposes, it was not bug 579264. The fix range was the retained layers landing, not bug 579264.
You need to log in
before you can comment on or make changes to this bug.
Description
•