onscreen/native: Warn instead of crashing if the frame_info queue is empty

Some Ubuntu systems with mutter 40 and 41 report `maybe_update_frame_info`
crashes with SIGSEGV when `frame_info == NULL`.

The same was reported by @rmader as happening "after wakeup" in testing
(https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441#note_1301588)
although the Ubuntu reports show it's not related to that MR.

Fixes: https://launchpad.net/bugs/1960585
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2282>
This commit is contained in:
Daniel van Vugt 2021-11-02 18:48:45 +08:00 committed by Marge Bot
parent ca5488c3d6
commit b7f7b82b89

View File

@ -228,6 +228,8 @@ notify_view_crtc_presented (MetaRendererView *view,
frame_info = cogl_onscreen_peek_head_frame_info (onscreen); frame_info = cogl_onscreen_peek_head_frame_info (onscreen);
g_return_if_fail (frame_info != NULL);
crtc = META_CRTC (meta_crtc_kms_from_kms_crtc (kms_crtc)); crtc = META_CRTC (meta_crtc_kms_from_kms_crtc (kms_crtc));
maybe_update_frame_info (crtc, frame_info, time_us, flags, sequence); maybe_update_frame_info (crtc, frame_info, time_us, flags, sequence);