onscreen/native: Skip try_post_latest_swap if shutting down
Otherwise we could get: meta_kms_prepare_shutdown -> flush_callbacks -> ... -> try_post_latest_swap -> post and queue more callbacks So later in shutdown those callbacks would trigger an assertion failure in meta_kms_impl_device_atomic_finalize: g_hash_table_size (impl_device_atomic->page_flip_datas) == 0
This commit is contained in:
parent
5a6892f3e2
commit
5209a0896b
1 changed files with 4 additions and 1 deletions
|
@ -1510,6 +1510,8 @@ try_post_latest_swap (CoglOnscreen *onscreen)
|
|||
MetaRendererNative *renderer_native = renderer_gpu_data->renderer_native;
|
||||
MetaRenderer *renderer = META_RENDERER (renderer_native);
|
||||
MetaBackend *backend = meta_renderer_get_backend (renderer);
|
||||
MetaBackendNative *backend_native = META_BACKEND_NATIVE (backend);
|
||||
MetaKms *kms = meta_backend_native_get_kms (backend_native);
|
||||
MetaMonitorManager *monitor_manager =
|
||||
meta_backend_get_monitor_manager (backend);
|
||||
MetaOnscreenNative *onscreen_native = META_ONSCREEN_NATIVE (onscreen);
|
||||
|
@ -1522,7 +1524,8 @@ try_post_latest_swap (CoglOnscreen *onscreen)
|
|||
g_autoptr (ClutterFrame) frame = NULL;
|
||||
MetaFrameNative *frame_native;
|
||||
|
||||
if (onscreen_native->next_post.frame == NULL)
|
||||
if (onscreen_native->next_post.frame == NULL ||
|
||||
meta_kms_is_shutting_down (kms))
|
||||
return;
|
||||
|
||||
power_save_mode = meta_monitor_manager_get_power_save_mode (monitor_manager);
|
||||
|
|
Loading…
Reference in a new issue