From 23876efad316ef4b865b7e7062e7ca39758307f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Mon, 9 Oct 2023 16:13:01 +0800 Subject: [PATCH] renderer/native: Clear old pending mode sets when unsetting all modes If we queued a mode set, but didn't end up compositing all frames, we'll have pending mode sets in a hash table waiting to be applied. If we before all monitors again try to reconfigure things we should drop the old pending mode sets and start fresh. We already do this when we're doing so when generating views, but when just unsetting modes, we didn't, so fix that. Related: https://bugzilla.redhat.com/show_bug.cgi?id=2242612 Part-of: --- src/backends/native/meta-renderer-native.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index 5acff95fc..b5c9755af 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -2007,6 +2007,8 @@ meta_renderer_native_unset_modes (MetaRendererNative *renderer_native) meta_topic (META_DEBUG_KMS, "Unsetting all CRTC modes"); + g_hash_table_remove_all (renderer_native->mode_set_updates); + for (l = meta_backend_get_gpus (backend); l; l = l->next) { MetaGpu *gpu = l->data;