GNOME Bugzilla – Bug 753237
wayland-surface: Don't crash if clients commit to a done popup
Last modified: 2015-08-05 11:51:50 UTC
We currently fail to put up popups triggered via key events and then crash when the client commits. The first patch fixes the crash since this is a legitimate race. meta_wayland_pointer_can_popup() also needs to be fixed to allow key event triggered popups but that's orthogonal to the this crash fix. The second patch is just something I noticed while looking at the code which I thought could be improved. I didn't actually see it happening in practice.
Created attachment 308729 [details] [review] wayland-surface: Don't crash if clients commit to a done popup If we can't put up a popup because grabbing the pointer fails we immediately dismiss the popup but the client might have made requests already, in particular it might have commited the surface and in that case we should ignore it.
Created attachment 308730 [details] [review] wayland-surface: Send out an error for a popup with an invalid parent Instead of silently failing without the client noticing.
Review of attachment 308730 [details] [review]: OK.
Review of attachment 308729 [details] [review]: OK.
Attachment 308729 [details] pushed as ab9dabe - wayland-surface: Don't crash if clients commit to a done popup Attachment 308730 [details] pushed as 9c74510 - wayland-surface: Send out an error for a popup with an invalid parent