Closed
Bug 547654
Opened 15 years ago
Closed 15 years ago
rendering problems when mouse scrolling email messages when Lightning addon is installed
Categories
(Calendar :: Lightning Only, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
1.0b2
People
(Reporter: adil, Assigned: adil)
References
Details
(Whiteboard: [needed beta][no l10n impact])
Attachments
(8 files, 6 obsolete files)
116.57 KB,
image/png
|
Details | |
13.78 KB,
application/rdf+xml
|
Details | |
1.94 KB,
patch
|
Details | Diff | Splinter Review | |
219.56 KB,
image/png
|
Details | |
2.97 KB,
patch
|
Details | Diff | Splinter Review | |
17.67 KB,
image/png
|
clarkbw
:
ui-review+
|
Details |
155.80 KB,
image/png
|
Details | |
2.96 KB,
patch
|
Fallen
:
review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.3a2pre) Gecko/20100221 Minefield/3.7a2pre
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.2pre) Gecko/20100221 Lightning/1.0b2pre Lanikai/3.1b1pre ID:20100221061116
I am using latest nightly Thunderbird 3.1 beta with Lightning 1.0 beta. When I scroll an email with the mouse wheel (two-finger scroll on my MacBook I see lines appearing in the scrolled part of the email.
If I scroll by dragging the scroll bar, the display problem does not happen.
If I disable Lightning then the display problem does not happen.
Reproducible: Always
Steps to Reproduce:
1. View a message in a new tab or in the message panel below the list of emails.
2. Scroll with the mouse (using two fingers on the trackpad in my case).
3. Look at the scrolled part of the email.
Actual Results:
Lines appear in the scrolled part of the email.
Expected Results:
normal display
Assignee | ||
Comment 1•15 years ago
|
||
Comment 2•15 years ago
|
||
Moving tentatively to Calendar/Lightning for more triage/troubleshooting.
Component: General → Lightning Only
Product: Thunderbird → Calendar
QA Contact: general → lightning
Comment 3•15 years ago
|
||
Not sure why this is happening. You say you are using Thunderbird 3.1 beta with Lightning 1.0b1? This shouldn't be possible.
Please switch to Lightning 1.0b2pre
Assignee | ||
Comment 4•15 years ago
|
||
I switched to latest nightly lightning 1.0b2pre and Lanikai 3.1b2pre. Problem still happens but less frequently.
I hacked around with chromebug and found that if I remove the XUL markup for the "Today Pane" button in the status bar the problem goes away. The only difference that I notice is that the "Today Pane" button makes the status bar two pixels deeper.
Specifically, I deleted this markup:
<statusbarpanel id="calendar-show-todaypane-panel" pack="center"><toolbarbutton id="calendar-status-todaypane-button" doubleimage="true" type="checkbox" label="Today Pane" tooltiptext="Show Today pane" observes="calendar_toggle_todaypane_command" command="calendar_toggle_todaypane_command" oncommand="TodayPane.toggleVisibility(event)" checkState="0" checked="false"></toolbarbutton></statusbarpanel>
For more information
- my system is 10.6 and the computer is a 17" MacBook Pro. This problem only happens when scrolling down using the mouse wheel or two-finger trackpad scroll. There is no problem when scrolling up. Also this only happens when scrolling an email in the message panel of the main mail window. it does not happen when I view an email in a new window.
I hope this information helps.
Comment 5•15 years ago
|
||
This might be a mac specific issue, I can't reproduce this on Linux.
Martin or Daniel, can you confirm?
Assignee | ||
Comment 6•15 years ago
|
||
Found the source of this issue. In line 133 of lightning.css #calendar-status-todaypane-button, #calendar-status-todaypane-button[checked="true"] are defined to have a vertical padding of 0.2pt. This raises the status but up by a fraction of a pixel. I think it is this fraction of pixel that causes the rendering errors. Redefining the vertical padding to zero or a round number of pixels fixes the problem.
Comment 7•15 years ago
|
||
Adil, do you think you could create a patch that fixes the issue for pinstripe and winstripe? See https://developer.mozilla.org/en/Mercurial_FAQ#How_can_I_diff_and_patch_files.3F
Our repository url is http://hg.mozilla.org/comm-central
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 8•15 years ago
|
||
Removed the fractional width from the Today Pane button css in Winstripe and Pinstripe themes as it causes smooth scolling issues on the Mac. This width was originally introduced in bug 456362 based on the look of the button in Linux. On the Mac there is no need for any padding while Windows needs a 1px padding. And both Mac and Windows themes need a 2px top margin to stop the button from hitting the top of the status bar. So it is possible there will be the need to add a Linux-specific version of this css without the margin if this causes issues in Linux.
Assignee | ||
Comment 9•15 years ago
|
||
Assignee | ||
Comment 10•15 years ago
|
||
Updated patch - previous patch had a typo (oops).
Attachment #433925 -
Attachment is obsolete: true
Comment 11•15 years ago
|
||
Comment on attachment 434183 [details] [diff] [review]
Fix padding and margin of Today Pane button in Status bar
Adil, thanks for preparing a patch! Sorry for not getting back to you on IRC, was quite busy. Feel free to ping me again or email if you have further questions.
I'll take a look at this soon and tell you how it looks on linux. If there is any trouble, we can solve this after bug 471378 is fixed.
Attachment #434183 -
Flags: review?(philipp)
Comment 12•15 years ago
|
||
On Linux the button is very close to the bottom of the statusbar. How does windows/mac look if you decrease the top margin to 1px? That should make it look sufficiently centered on linux. You could also experiment with the xul attributes, i.e adding either align=center or pack=center to the parent box and removing the margin. This should vertically center the toolbarbutton.
Assignee | ||
Comment 13•15 years ago
|
||
Who would have thought that positioning a button would be so finicky :) Decreasing the top margin would not work as it would hit the top edge of the status bar on Windows and Mac, but squeezing in a pixel at the bottom should work for all three platforms. Please try the attached patch.
BTW: this is only the beginning of the issues with this button. The Mac UI for the button has no proper icons created for it and references non existant images. I commented on bug 502095 with these problems as it seems the best place to track them.
Updated•15 years ago
|
Assignee: nobody → adil
Status: NEW → ASSIGNED
Comment 15•15 years ago
|
||
Phillip: this is a serious issue, especially on mac, as it makes it hard to read emails when scrolling. I think it needs to block the version of Lightning that comes out alongside TB 3.1...
Note that from bug 540466, we think this is the regression bug, though I'm not sure if this will help much:
> http://hg.mozilla.org/mozilla-central/rev/ff084019260e looks like a pretty
> likely cause to me:
>
> Bug 352093. Part 15: Rework scrolling so that we don't need a dedicated native
> widget for scrollframes. r=dbaron,joshmoz,karlt,jmathies
Flags: blocking-calendar1.0?
You're working around a core engine bug ... if you can come up with some kind of reduced testcase, we should fix the core bug.
Assignee | ||
Comment 17•15 years ago
|
||
Robert: You are right there could be a small css change and the issue can reappear. I tried to create a simple test case, however the issue only happens with certain emails at certain heights and cannot be reproduced reliably. I create a test case that works then I resize the window and it disappears. Trying to force the message pane height through css will work for one email but not another so I am not sure what to do to reduce this.
Assignee | ||
Comment 18•15 years ago
|
||
That was not easy. I managed to repeat the bug reliably on the "Welcome to Shredder" page that draws on startup. Copy the attached localstore.rdf to your profile folder and the window size should be just right to make the scroll of the Welcome screen display the rendering issue.
Assignee | ||
Comment 20•15 years ago
|
||
I isolated the scrolling bug down to an invalidate issue on the Mac - basically there is an error in the calculation of the invalidate rect of one pixel.
I proved this with this patch. It calls [mView setNeedsDisplayInRect:rect] in nsChildView::Scroll with a rect based on the area to be updated. When I increased the size of the update rect by one pixel the problem stops happening.
Comment 21•15 years ago
|
||
I've tested the new 1px patch on Linux. Comparing with how it was before, the statubar looks a bit unproportional this way.
I think we should either go with the previous version (attachment 434183 [details] [diff] [review]), or even just let the button hit the top edge on windows/mac.
Flags: blocking-calendar1.0? → blocking-calendar1.0+
Assignee | ||
Comment 22•15 years ago
|
||
spun off the core layout issue into bug 555195 so that we can track it independently.
Assignee | ||
Comment 23•15 years ago
|
||
I think I have got all the requirements fixed here.
- Rounded the padding to the nearest pixel to prevent triggering a core layout rendering issue.
- Reduced 1 pixel from the height of the button on Winstripe and Pinstripe
- Raised button label by one pixel to stop the 'y' in 'Today touching the bottom of the button.
- Added a margin to the button on Pinstripe and Winstripe so that it does not hit edges of the status bar.
Attachment #434183 -
Attachment is obsolete: true
Attachment #434256 -
Attachment is obsolete: true
Attachment #435327 -
Flags: review?(philipp)
Attachment #434183 -
Flags: review?(philipp)
Assignee | ||
Comment 24•15 years ago
|
||
Attachment #433926 -
Attachment is obsolete: true
Assignee | ||
Comment 25•15 years ago
|
||
Apologies for resending the patch - I squeezed an additional 1px height saving on pinstripe.
- Rounded the padding to the nearest pixel to prevent triggering a core layout
rendering issue.
- Reduced 1 pixel from the height of the button on Winstripe and Pinstripe
- Raised button label by one pixel to stop the 'y' in 'Today touching the
bottom of the button.
- Added a margin to the button on Pinstripe and Winstripe so that it does not
hit edges of the status bar.
Attachment #435327 -
Attachment is obsolete: true
Attachment #435327 -
Flags: review?(philipp)
Comment 26•15 years ago
|
||
This is how it looks on Linux. The statusbar still looks larger and a bit unproportional on the left side with the icons. Can't we just make the button stick to the top as it was before?
I'll leave the UI decision to Bryan though, I'm not an expert on that :-)
Attachment #434214 -
Attachment is obsolete: true
Attachment #437812 -
Flags: ui-review?(clarkbw)
Assignee | ||
Comment 27•15 years ago
|
||
So you can review the difference, I reduced the height of the today pane button to its minimum allowing it to touch the top and bottom of the status bar. Enclosed is the screenshot of this. The height was reduced by 2 pixels - one from the top and bottom margins.
Assignee | ||
Comment 28•15 years ago
|
||
Here is the patch for the previous screenshot with one pixel stripped from the top and bottom margin.
Comment 30•15 years ago
|
||
(In reply to comment #16)
> You're working around a core engine bug ... if you can come up with some kind
> of reduced testcase, we should fix the core bug.
Roc: I tried but I failed. I think this needs a good amount of xul and css knowledge and exactly what to get to overlap what and by how much. To be honest, I think this needs a core dev in that area to take a look at current Thunderbird & Lightning to be able to investigate & debug, I'm not sure we've got enough available expertise to look at it.
Adil already got a good reduced testcase in bug 555195, I just haven't gotten around to fixing the bug yet.
Assignee | ||
Comment 32•15 years ago
|
||
To be specific - this patch works around the core layout bug without creating any new display issues or patching any code outside of the lightning component. I think it would be worth checking this issue in if you wanted Lightning to be released before the layout engine is patched.
Comment 33•15 years ago
|
||
Comment on attachment 437812 [details]
Linux Screenshot
I'm ok with the extra top padding, I think this is better than extra padding at the bottom. If we tried to align them center I think we'd get a very odd and uneven floating look. So lets stick with this.
Attachment #437812 -
Flags: ui-review?(clarkbw) → ui-review+
Comment 34•15 years ago
|
||
(In reply to comment #32)
> To be specific - this patch works around the core layout bug without creating
> any new display issues or patching any code outside of the lightning component.
> I think it would be worth checking this issue in if you wanted Lightning to be
> released before the layout engine is patched.
I made these changes to my nightly lightning installation and so far, it works great on the mac. My only nit on the patch is that you ought to call out that these changes are to work around a specific Gecko bug so we can remove these changes once the bug is fixed.
Assignee | ||
Comment 35•15 years ago
|
||
I do not think that is necessary. Even thought the reason for the patch is to work around a Gecko bug, the changes are an improvement to the CSS for the Mac and Windows as well. The original CSS was designed to work well for Linux see my comment #8 and comment #13 above.
Comment 36•15 years ago
|
||
(In reply to comment #35)
> I do not think that is necessary. Even thought the reason for the patch is to
> work around a Gecko bug, the changes are an improvement to the CSS for the Mac
> and Windows as well. The original CSS was designed to work well for Linux see
> my comment #8 and comment #13 above.
Sounds fine. Thanks again for the patch.
Comment 37•15 years ago
|
||
Comment on attachment 437843 [details] [diff] [review]
Patch with the minimal height for the today pane button
This looks fine on linux, r=philipp
Attachment #437843 -
Flags: review+
Comment 38•15 years ago
|
||
Pushed to comm-central <http://hg.mozilla.org/comm-central/rev/bd2fc742e3e1>
-> FIXED
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.0b2
Assignee | ||
Comment 39•15 years ago
|
||
Not sure how this works but shouldn't this patch also be applied to the comm-1.9.2 branch as well?
Comment 40•15 years ago
|
||
Right now, Lightning is still building from comm-central. I will transplant all calendar patches applied after the comm-1.9.2 branching soon and then have the buildbots changed.
Comment 41•15 years ago
|
||
Pushed to comm-1.9.2 <http://hg.mozilla.org/releases/comm-1.9.2/rev/c06e5c955a8d>
-> FIXED
Updated•15 years ago
|
Whiteboard: [needed beta][no l10n impact]
You need to log in
before you can comment on or make changes to this bug.
Description
•