From bug 475317 comment 12: Enn: I'm hitting a weird bug... Start playing a video, then click the mute button. The volume slider should move to the bottom (0), but it stays at the top (100). Now move the mouse away (so the controls fade out), then back over and... ta-da, the volume slider is now being drawn at the correct position. Further clicks on the mute button make the volume <scale> work normally. The immediate cause of this is that the CurrentPositonChanged() code in nsSliderFrame is hitting the "do nothing if the position did not change" case, and bails out (curpospx is 0, instead of the expected 100). The real problem occurs earlier on... Calls to _setIntegerAttribute() in scale.xul and calls to nsSliderFrame::AttributeChanged() should occur in pairs. But I'm not seeing the call to AttributeChanged() when the scale's value is set from the video control's setupInitialState(), nor does it get called when I hardcode <scale value="50"> in the XUL. The code in _setIntegerAttribute() is calling setAttribute() in all these cases, so I'm not sure where things are going wrong early on.
Assignee: nobody → enndeakin
Status: NEW → ASSIGNED
Yep, this fixes the problem for me.
Comment on attachment 373912 [details] [diff] [review] we just need to initialize mCurPos properly For consistency I guess you should read the curpos from a scrollbar if available, although given scrollbar.xml's extensive xbl:inherits list I fail to see why we read any attributes from the scrollbar...
I see we often need to set attributes on the scrollbar, so we usually have a choice of elements from which to read the attribute anyway.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 373912 [details] [diff] [review] we just need to initialize mCurPos properly a191=beltzner
Attachment #373912 - Flags: approval1.9.1? → approval1.9.1+
Whiteboard: [needs 1.9.1 landing]
You need to log in before you can comment on or make changes to this bug.