Closed Bug 81826 Opened 25 years ago Closed 25 years ago

when embedded with plug/socket toplevel window location caching fails

Categories

(Core :: XUL, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: blizzard, Assigned: blizzard)

Details

Attachments

(1 file)

When you're embededd using a plug/socket dialog popup windows come up at the wrong location if the toplevel window has been moved but not resized. This is probably because the screen coordinate caching doesn't pick up the configure notify event because the toplevel window is the inner plug. Gotta fix that fur shure d00d!
Status: NEW → ASSIGNED
Attached patch patchSplinter Review
The most conspicuous place that this shows up is in Nautilus. If you have nautilus and you go to a site that has popup windows and you move the window but don't resize it and then open up a popup menu the popup will show up at the wrong place. This is because in the widget code we cache the last location of the window so we don't have to make expensive trips to the server to get the location any time that layout requests it. Because nautilus uses a plug/socket the toplevel window is the plug and it doesn't get the configure_event signals when the toplevel window is moved. We work around this by using the same mechanism that we use to get the focus events to get the ConfigureNotify events on the toplevel window and use that to update our dirty regions. This seems to work well and is relatively clean.
looks swell. r=pavlov
sr=tor
Checked in. Thanks!
oops. Actually close this.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
May God have mercy on us all. The 212 bug spam-o-rama is Now!
QA Contact: aegis → jrgm
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: