Comment 22 for bug 1010466

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Thanks to Jiri for sticking around on IRC last night to help debug this. What we found in the end is that the unity 2d panel sends Firefox a WM_DELETE_WINDOW client message with an abnormally large timestamp when closing a maximised Firefox window, using the close button. What happens inside Firefox (well, inside gdk really) is that it saves the timestamp of each new event on its GdkDisplay as long as the timestamp is newer than the previous one. Firefox uses this last event timestamp for pointer grab handling and drag events. Once Firefox has seen the timestamp from a long way in the future, this broken timestamp is then used for all future pointer grabs (which fail because the timestamp is ahead of the X server time).

After looking at the unity 2d source, it actually sends the system time (ie, time since the epoch) as the timestamp, rather than the X server timestamp of the mouse button event.