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 Signed-off-by: Mingi Sung <sungmg@saltyming.net>
This commit is contained in:
parent
d9a6cc334f
commit
4995fa2a48
1 changed files with 4 additions and 1 deletions
|
@ -1497,6 +1497,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);
|
||||
|
@ -1511,7 +1513,8 @@ try_post_latest_swap (CoglOnscreen *onscreen)
|
|||
int sync_fd;
|
||||
COGL_TRACE_SCOPED_ANCHOR (MetaRendererNativePostKmsUpdate);
|
||||
|
||||
if (onscreen_native->next_frame == NULL)
|
||||
if (onscreen_native->next_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