mirror of
https://github.com/brl/mutter.git
synced 2024-12-27 05:12:15 +00:00
monitor-manager/native: Emit privacy-screen-changed signal later
Make sure the monitor and output state is up to date when we emit the privacy-monitor-changed signal, otherwise the signal emission code will try to look up out of date state. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2119 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2280>
This commit is contained in:
parent
0f2ec1e8a7
commit
2a624dbd1e
@ -507,6 +507,8 @@ on_kms_resources_changed (MetaKms *kms,
|
||||
MetaKmsUpdateChanges changes,
|
||||
MetaMonitorManager *manager)
|
||||
{
|
||||
gboolean needs_emit_privacy_screen_change = FALSE;
|
||||
|
||||
g_assert (changes != META_KMS_UPDATE_CHANGE_NONE);
|
||||
|
||||
if (changes == META_KMS_UPDATE_CHANGE_GAMMA)
|
||||
@ -527,13 +529,17 @@ on_kms_resources_changed (MetaKms *kms,
|
||||
META_PRIVACY_SCREEN_CHANGE_STATE_PENDING_HOTKEY;
|
||||
}
|
||||
|
||||
meta_monitor_manager_maybe_emit_privacy_screen_change (manager);
|
||||
needs_emit_privacy_screen_change = TRUE;
|
||||
|
||||
if (changes == META_KMS_UPDATE_CHANGE_PRIVACY_SCREEN)
|
||||
return;
|
||||
goto out;
|
||||
}
|
||||
|
||||
handle_hotplug_event (manager);
|
||||
|
||||
out:
|
||||
if (needs_emit_privacy_screen_change)
|
||||
meta_monitor_manager_maybe_emit_privacy_screen_change (manager);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user