After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 753237 - wayland-surface: Don't crash if clients commit to a done popup
wayland-surface: Don't crash if clients commit to a done popup
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: wayland
unspecified
Other All
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2015-08-04 12:05 UTC by Rui Matos
Modified: 2015-08-05 11:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wayland-surface: Don't crash if clients commit to a done popup (1.38 KB, patch)
2015-08-04 12:05 UTC, Rui Matos
committed Details | Review
wayland-surface: Send out an error for a popup with an invalid parent (1.42 KB, patch)
2015-08-04 12:05 UTC, Rui Matos
committed Details | Review

Description Rui Matos 2015-08-04 12:05:21 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.
Comment 1 Rui Matos 2015-08-04 12:05:27 UTC
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.
Comment 2 Rui Matos 2015-08-04 12:05:40 UTC
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.
Comment 3 Jasper St. Pierre (not reading bugmail) 2015-08-04 16:25:08 UTC
Review of attachment 308730 [details] [review]:

OK.
Comment 4 Jasper St. Pierre (not reading bugmail) 2015-08-04 16:25:25 UTC
Review of attachment 308729 [details] [review]:

OK.
Comment 5 Rui Matos 2015-08-05 11:51:40 UTC
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