Closed
Bug 339576
Opened 19 years ago
Closed 19 years ago
[Modern theme] No arrows at end of scrollbars
Categories
(Core Graveyard :: Widget: Mac, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: gulliver, Assigned: jaas)
References
Details
Attachments
(1 file)
|
2.03 KB,
patch
|
jaas
:
review+
neil
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060521 SeaMonkey/1.5a
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; de-AT; rv:1.9a1) Gecko/20060521 SeaMonkey/1.5a
There are no arrows displayed at the ends of the horizontal and vertical sscrollbars.
Reproducible: Always
Steps to Reproduce:
1. Go to any page that exceeds the size of your monitor resolution
2. When the scrollbars appear check for arrows
Actual Results:
No arrows at the ends of the scrollbars.
Expected Results:
Arrows should show
Summary: No arrows at scrollbars → No arrows at end of scrollbars
The same bug is also present in all builts up to Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060528 SeaMonkey/1.5a
Still present in Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060603 SeaMonkey/1.5a
Anybody?
Still not working in Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060610 SeaMonkey/1.5a.
Anybody???
Comment 4•19 years ago
|
||
Gulliver,
Does this happen in both Classic and Modern theme?
(In reply to comment #4)
> Gulliver,
>
> Does this happen in both Classic and Modern theme?
>
Hi Stefan,
no. I only see this in the Modern theme. How did you know? ;-)
Comment 6•19 years ago
|
||
==> Widget/Mac
Assignee: general → joshmoz
Component: General → Widget: Mac
Product: Mozilla Application Suite → Core
QA Contact: general → mac
Version: unspecified → Trunk
Comment 7•19 years ago
|
||
Hmm, this does not happen on branch, right (the forthcoming 1.1a release)?
Comment 9•19 years ago
|
||
(In reply to comment #8)
> Stefan,
>
> are you working on this bug?
>
No, this looks like a layout/widget issue - out of my knowledge :-(
I see this too in a debug build on 10.3.9 with the difference that I only lack one scrollbar arrow. Something that would help track this down a regression range - that is, when did this first appear? If you could find out in what build this started to happen there's a chance that we could find out what caused this. I do recall seeing this for like a year ago - but the issue disappeared and I never understood what caused it to go away.
What we know here is:
1) It only occurs in Modern theme.
2) It seems to be affected by your system preferences settings (at least mine, perhaps you can confirm):
If I choose to display scrollarrows together (ie, up/down and left/right in the bottom right corner only one arrow can be seen (down, right).
If I choose to display the arrows separated, no arrows appear.
Severity: major → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: No arrows at end of scrollbars → [Modern theme] No arrows at end of scrollbars
| Reporter | ||
Comment 10•19 years ago
|
||
(In reply to comment #9)
> (In reply to comment #8)
> > Stefan,
> >
> > are you working on this bug?
> >
>
> No, this looks like a layout/widget issue - out of my knowledge :-(
>
> I see this too in a debug build on 10.3.9 with the difference that I only lack
> one scrollbar arrow. Something that would help track this down a regression
> range - that is, when did this first appear? If you could find out in what
> build this started to happen there's a chance that we could find out what
> caused this. I do recall seeing this for like a year ago - but the issue
> disappeared and I never understood what caused it to go away.
>
> What we know here is:
>
> 1) It only occurs in Modern theme.
>
> 2) It seems to be affected by your system preferences settings (at least mine,
> perhaps you can confirm):
>
> If I choose to display scrollarrows together (ie, up/down and left/right in
> the bottom right corner only one arrow can be seen (down, right).
>
> If I choose to display the arrows separated, no arrows appear.
>
Stefan,
this built woks perfectly: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060419 SeaMonkey/1.5a
Then there was a long time when the Mac-builts were only 12k. The built from May 17th and all builts thereafter were broken. As far as I can remember there were no working Mac-builts in the meantime.
| Reporter | ||
Comment 11•19 years ago
|
||
(In reply to comment #9)
> (In reply to comment #8)
>
> No, this looks like a layout/widget issue - out of my knowledge :-(
>
> I see this too in a debug build on 10.3.9 with the difference that I only lack
> one scrollbar arrow. Something that would help track this down a regression
> range - that is, when did this first appear? If you could find out in what
> build this started to happen there's a chance that we could find out what
> caused this. I do recall seeing this for like a year ago - but the issue
> disappeared and I never understood what caused it to go away.
>
> What we know here is:
>
> 1) It only occurs in Modern theme.
>
> 2) It seems to be affected by your system preferences settings (at least mine,
> perhaps you can confirm):
>
> If I choose to display scrollarrows together (ie, up/down and left/right in
> the bottom right corner only one arrow can be seen (down, right).
>
> If I choose to display the arrows separated, no arrows appear.
>
Changing the system preferences from "Together at both ends" to "Top and bottom" does NOT solve the problem.
Comment 12•19 years ago
|
||
(In reply to comment #11)
> (In reply to comment #9)
> > (In reply to comment #8)
> >
> > No, this looks like a layout/widget issue - out of my knowledge :-(
> >
> > I see this too in a debug build on 10.3.9 with the difference that I only lack
> > one scrollbar arrow. Something that would help track this down a regression
> > range - that is, when did this first appear? If you could find out in what
> > build this started to happen there's a chance that we could find out what
> > caused this. I do recall seeing this for like a year ago - but the issue
> > disappeared and I never understood what caused it to go away.
> >
> > What we know here is:
> >
> > 1) It only occurs in Modern theme.
> >
> > 2) It seems to be affected by your system preferences settings (at least mine,
> > perhaps you can confirm):
> >
> > If I choose to display scrollarrows together (ie, up/down and left/right in
> > the bottom right corner only one arrow can be seen (down, right).
> >
> > If I choose to display the arrows separated, no arrows appear.
> >
>
> Changing the system preferences from "Together at both ends" to "Top and
> bottom" does NOT solve the problem.
>
No change at all (like seeing one arrow)?
| Reporter | ||
Comment 13•19 years ago
|
||
> >
>
> No change at all (like seeing one arrow)?
>
No, unfortunately not.
Comment 14•19 years ago
|
||
Hmm, this doesn't seem to happen in all windows. For instance, in the composer window i get scrollbar arrows. But not in the browser/View Source window.
Comment 15•19 years ago
|
||
(In reply to comment #14)
>Hmm, this doesn't seem to happen in all windows. For instance, in the composer
>window i get scrollbar arrows. But not in the browser/View Source window.
That's because Compose windows disable scripts including the one that's supposed to make the scrollbar arrows match look & feel.
Can you open a window with a tree (History, say), and inspect the contained anonymous scrollbar parts to see which buttons are hidden?
Can you also evaluate the following expressions in the JS, sorry, Error Console?
top.document.documentElement.boxObject.getLookAndFeelMetric("scrollbarArrows")
top.document.documentElement.boxObject.getLookAndFeelMetric("thumbStyle")
If you could try that with different system preferences that would be great.
Comment 16•19 years ago
|
||
(In reply to comment #7)
>Hmm, this does not happen on branch, right (the forthcoming 1.1a release)?
No, that uses a different metric, "scrollbarStyle".
Comment 17•19 years ago
|
||
(In reply to comment #15)
> (In reply to comment #14)
> >Hmm, this doesn't seem to happen in all windows. For instance, in the composer
> >window i get scrollbar arrows. But not in the browser/View Source window.
> That's because Compose windows disable scripts including the one that's
> supposed to make the scrollbar arrows match look & feel.
>
> Can you open a window with a tree (History, say), and inspect the contained
> anonymous scrollbar parts to see which buttons are hidden?
>
> Can you also evaluate the following expressions in the JS, sorry, Error
> Console?
> top.document.documentElement.boxObject.getLookAndFeelMetric("scrollbarArrows")
> top.document.documentElement.boxObject.getLookAndFeelMetric("thumbStyle")
> If you could try that with different system preferences that would be great.
>
I'll have a look the next few days.
Comment 18•19 years ago
|
||
arrows LAFM: end-forward
"Oops"
Comment 19•19 years ago
|
||
Hmm, interesting.
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/widget/src/mac/nsLookAndFeel.cpp&rev=1.68#555 takes the output from ::GetThemeScrollBarArrowStyle(), which http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsBoxObject.cpp&rev=1.61#317 interprets to be a 4-bit field with each bit specifying whether a particular arrow button should be shown or not.
However, according to http://developer.apple.com/documentation/Carbon/Reference/Appearance_Manager/Reference/reference.html#//apple_ref/doc/uid/TP30000243-CH4g-C005342 it only has two values, 0 and 1, with 0 meaning one arrow at each end, and 1 meaning both arrows at the bottom or right-hand side.
Ah, bug 263444 changed the enums without changing this direct mapping. With the old enums the above mapping worked. Patch coming up.
Comment 20•19 years ago
|
||
I applied the same fix to the ThumbStyle section.
Attachment #230847 -
Flags: superreview?(neil)
Attachment #230847 -
Flags: review?(joshmoz)
Comment 21•19 years ago
|
||
Comment on attachment 230847 [details] [diff] [review]
Don't depend on enum values being the same
> case eMetric_ScrollArrowStyle:
> ThemeScrollBarArrowStyle arrowStyle;
> ::GetThemeScrollBarArrowStyle ( &arrowStyle );
>- aMetric = arrowStyle;
>+ switch (arrowStyle) {
>+ case kThemeScrollBarArrowsSingle:
>+ aMetric = eMetric_ScrollArrowStyleSingle;
>+ break;
>+ default:
>+ NS_WARNING("Not handling all possible ThemeScrollBarArrowStyle values");
>+ // fall through so we default to BothAtBottom
>+ case kThemeScrollBarArrowsLowerRight:
>+ aMetric = eMetric_ScrollArrowStyleBothAtBottom;
>+ }
> break;
Presumably in opt builds this simplifies to aMetric = arrowStyle ? eMetric_ScrollArrowStyleBothAtBottom : eMetric_ScrollArrowStyleSingle;
> case eMetric_ScrollSliderStyle:
> ThemeScrollBarThumbStyle thumbStyle;
> ::GetThemeScrollBarThumbStyle ( &thumbStyle );
>- aMetric = thumbStyle;
Why this change? The thumb style enums didn't change, did they?
Comment 22•19 years ago
|
||
Comment on attachment 230847 [details] [diff] [review]
Don't depend on enum values being the same
Oh I see, you don't want to depend on those values being the same either. If only we could make the thumb style a boolean metric...
Attachment #230847 -
Flags: superreview?(neil) → superreview+
Attachment #230847 -
Flags: review?(joshmoz) → review+
Comment 23•19 years ago
|
||
Comment on attachment 230847 [details] [diff] [review]
Don't depend on enum values being the same
fwiw, just tested this patch and it works fine - arrows are back again.
Blocks: 263444
Comment 24•19 years ago
|
||
BTW, yeah, I would assume that when NS_WARNING gets compiled away, the compiler will do smart things with two-case switches where one value is 0 :-)
Checking in nsLookAndFeel.cpp;
/cvsroot/mozilla/widget/src/mac/nsLookAndFeel.cpp,v <-- nsLookAndFeel.cpp
new revision: 1.69; previous revision: 1.68
done
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
| Reporter | ||
Comment 25•19 years ago
|
||
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060805 SeaMonkey/1.5a:
On the bottom of the vertical scrollbar and on the right side of the horizontal scrollbar both arrows appear o.k. now. They are still missing on top of the vertical scrollbar and the left side of the horizontal.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 26•19 years ago
|
||
(In reply to comment #25)
> Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a1) Gecko/20060805
> SeaMonkey/1.5a:
>
> On the bottom of the vertical scrollbar and on the right side of the horizontal
> scrollbar both arrows appear o.k. now. They are still missing on top of the
> vertical scrollbar and the left side of the horizontal.
>
I don't see this with 2006080504 on mac os 10.3.9. To clarify:
1) System prefs set to have scrollarrows "together": Up/down and left/right arrows should appear in the lower right corner.
2) System prefs set to have scrollarrows "separated": Up arrow should appear at the top right corner, down arrow and right arrow at the lower right corner and left arrow at the left lower corner.
Gulliver, you're saying that 2) shows the down/right arrow at the lower right corner but not the up arrow at the top right corner and the left arrow at the left lower corner?
| Reporter | ||
Comment 27•19 years ago
|
||
Stefan,
I have set it to "together" and yes, they do show up together in the lower right corner. However, in all other programs they show on both ends of the scrollbar. Is this my problem?
Comment 28•19 years ago
|
||
(In reply to comment #27)
> Stefan,
>
> I have set it to "together" and yes, they do show up together in the lower
> right corner. However, in all other programs they show on both ends of the
> scrollbar. Is this my problem?
>
I think so. How do they appear for you in the build you mention in comment #10 (the build that works)? How do they appear in Classic theme? Have you done some tweaks with (for instance) TinkerTools? Note that according to the documentation that jag mention in comment #19 there are only two values.
| Reporter | ||
Comment 29•19 years ago
|
||
>
> I think so. How do they appear for you in the build you mention in comment #10
> (the build that works)? How do they appear in Classic theme? Have you done some
> tweaks with (for instance) TinkerTools? Note that according to the
> documentation that jag mention in comment #19 there are only two values.
>
That's it! Thank You! Indeed I did set it to show both arrows on both ends with Tinker Tools - and forgot about that.
Comment 30•19 years ago
|
||
OK, marking fixed again since this wasn't really about making hidden system prefs working with the Modern theme.
Status: REOPENED → RESOLVED
Closed: 19 years ago → 19 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•