summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ã…dahl <jadahl@gmail.com>2022-05-30 19:48:52 +0200
committerMarge Bot <marge-bot@gnome.org>2022-12-17 13:52:51 +0000
commit7aa56499ff2545b019edad3081e3aa751cd80e11 (patch)
treef7249f6976e70b27f1084a9e49bc8b1b76372de3
parent26dce13c5242d6016a8c079f5da3c1b61db29f04 (diff)
downloadmutter-7aa56499ff2545b019edad3081e3aa751cd80e11.tar.gz
backend: Sync cursor visibility after startup
When the stage is technically shown depends on when the plugin decides to do so, so don't rely on it happening when everything is setup. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2718>
-rw-r--r--src/backends/meta-backend.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 606c0eda6..67becc7b8 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -516,7 +516,15 @@ input_mapper_device_aspect_ratio_cb (MetaInputMapper *mapper,
}
static void
-on_stage_shown_cb (MetaBackend *backend)
+on_prepare_shutdown (MetaContext *context,
+ MetaBackend *backend)
+{
+ g_signal_emit (backend, signals[PREPARE_SHUTDOWN], 0);
+}
+
+static void
+on_started (MetaContext *context,
+ MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
ClutterSeat *seat = priv->default_seat;
@@ -526,13 +534,6 @@ on_stage_shown_cb (MetaBackend *backend)
}
static void
-on_prepare_shutdown (MetaContext *context,
- MetaBackend *backend)
-{
- g_signal_emit (backend, signals[PREPARE_SHUTDOWN], 0);
-}
-
-static void
meta_backend_real_post_init (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
@@ -542,9 +543,6 @@ meta_backend_real_post_init (MetaBackend *backend)
priv->stage = meta_stage_new (backend);
clutter_actor_realize (priv->stage);
META_BACKEND_GET_CLASS (backend)->select_stage_events (backend);
- g_signal_connect_object (priv->stage, "show",
- G_CALLBACK (on_stage_shown_cb), backend,
- G_CONNECT_SWAPPED);
meta_monitor_manager_setup (priv->monitor_manager);
@@ -595,6 +593,8 @@ meta_backend_real_post_init (MetaBackend *backend)
g_signal_connect (priv->context, "prepare-shutdown",
G_CALLBACK (on_prepare_shutdown), backend);
+ g_signal_connect (priv->context, "started",
+ G_CALLBACK (on_started), backend);
}
static gboolean