diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2021-11-30 08:22:33 +0100 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2022-09-01 16:54:04 +0200 |
commit | 8826b29329b7fb3a1340b42a5f94c49e49c757f5 (patch) | |
tree | 918058ad396f2ec59ed26637d83577e288050003 | |
parent | 41ebf3b1bfad01774cc4dc5941e1df1c0ccb1b3c (diff) | |
download | mutter-8826b29329b7fb3a1340b42a5f94c49e49c757f5.tar.gz |
color-manager: Add ready state
Ready means it has established the connection to colord and can operate.
Will be used by tests to make sure tests don't fail due to race
conditions when connecting to colord.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2164>
-rw-r--r-- | src/backends/meta-color-manager-private.h | 3 | ||||
-rw-r--r-- | src/backends/meta-color-manager.c | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/meta-color-manager-private.h b/src/backends/meta-color-manager-private.h index db5d425e9..aa0904533 100644 --- a/src/backends/meta-color-manager-private.h +++ b/src/backends/meta-color-manager-private.h @@ -29,4 +29,7 @@ struct _MetaColorManagerClass CdClient * meta_color_manager_get_cd_client (MetaColorManager *color_manager); +META_EXPORT_TEST +gboolean meta_color_manager_is_ready (MetaColorManager *color_manager); + #endif /* META_COLOR_MANAGER_PRIVATE_H */ diff --git a/src/backends/meta-color-manager.c b/src/backends/meta-color-manager.c index 6f7ac24bf..3bc31644e 100644 --- a/src/backends/meta-color-manager.c +++ b/src/backends/meta-color-manager.c @@ -74,6 +74,8 @@ typedef struct _MetaColorManagerPrivate GHashTable *devices; MetaDbusSettingsDaemonColor *gsd_color; + + gboolean is_ready; } MetaColorManagerPrivate; G_DEFINE_TYPE_WITH_PRIVATE (MetaColorManager, meta_color_manager, G_TYPE_OBJECT) @@ -203,6 +205,8 @@ cd_client_connect_cb (GObject *source_object, g_signal_connect (monitor_manager, "monitors-changed-internal", G_CALLBACK (on_monitors_changed), color_manager); + + priv->is_ready = TRUE; } static void @@ -367,3 +371,12 @@ meta_color_manager_get_color_device (MetaColorManager *color_manager, monitor_id = generate_monitor_id (monitor); return g_hash_table_lookup (priv->devices, monitor_id); } + +gboolean +meta_color_manager_is_ready (MetaColorManager *color_manager) +{ + MetaColorManagerPrivate *priv = + meta_color_manager_get_instance_private (color_manager); + + return priv->is_ready; +} |