Closed Bug 861332 Opened 8 years ago Closed 8 years ago
OSX: window resizer is not there anymore
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:23.0) Gecko/20130412 Firefox/23.0 Build ID: 20130412030828 Steps to reproduce: 1.) Run Firefox Stable or Nightly on OSX 10.6.8 2.) Take a look at the bottom right of the window Actual results: The window resizer is not there anymore. (Please see the attache screenshot). Expected results: There have to be a window resizer.
Cc'ing one of our local Cocoa hackers. Hey Josiah, any idea what might be happening here?
Interesting. The square is actually shown, and it functions properly, but the image seems to be missing. AFAIK, we draw the scrollbars ourselves, so for some reason the image is not getting added anymore. At the moment I am not sure why, I will do some investigation. The white square is exactly like what happens on Lion and Mountain Lion machines, so I am wondering if the icon got removed somehow because it think we are running on Snow Leopard.
This was broken by bug 829886 and some, as far as I can tell, misguided calls to GetClientBounds in gfx.
I think this affects all versions from 20 to 23.
The bug happens because DrawWindowOverlay (where the resizer is drawn) uses the rect that's passed to DrawWindowOverlay in order to arrive at the resizer draw position. However, this rect comes from directly GetClientBounds, and for root widgets that's in screen coordinates. I think the correct fix is to simply ignore rect.x/.y or set it to 0. That's is what most of the callers of GetClientBounds in gfx/layers/ do. I've audited all of them and fixed those that didn't ignore rect.x/.y.
Assignee: nobody → mstange
Status: NEW → ASSIGNED
Attachment #746897 - Flags: review?(bas)
Comment on attachment 746897 [details] [diff] [review] v1 Hey Matt, do you want to review this patch?
Could we just instead add a new nsIWidget function that returns the client bounds relative to the widget itself (GetClientBoundsRelativeToSelf or similar), or maybe one that returns the client size. It looks ugly to have to 0 out the x/y values for all callers, and I'm worried that we'll add more callers in the future that forget to do this.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.