core: Add ::timeout signal to MetaStartupSequence

These objects are missing explicit notifications about when they
are going away by themselves, add one.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1845>
This commit is contained in:
Carlos Garnacho 2021-04-24 00:17:25 +02:00 committed by Marge Bot
parent 2115debd09
commit 665081d268

View File

@ -62,6 +62,7 @@ enum
enum
{
SEQ_COMPLETE,
SEQ_TIMEOUT,
N_SEQ_SIGNALS
};
@ -267,6 +268,12 @@ meta_startup_sequence_class_init (MetaStartupSequenceClass *klass)
G_STRUCT_OFFSET (MetaStartupSequenceClass, complete),
NULL, NULL, NULL,
G_TYPE_NONE, 0);
seq_signals[SEQ_TIMEOUT] =
g_signal_new ("timeout",
META_TYPE_STARTUP_SEQUENCE,
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
seq_props[PROP_SEQ_ID] =
g_param_spec_string ("id",
@ -488,7 +495,12 @@ startup_sequence_timeout (void *data)
"Timed out sequence %s",
meta_startup_sequence_get_id (sequence));
meta_startup_sequence_complete (sequence);
if (!meta_startup_sequence_get_completed (sequence))
{
g_signal_emit (sequence, seq_signals[SEQ_TIMEOUT], 0, sequence);
meta_startup_sequence_complete (sequence);
}
meta_startup_notification_remove_sequence (sn, sequence);
}