mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 15:36:17 +01:00
tests: Release GApplication a little later to avoid assertion failures
If it takes one more `GMainContext` cycle than expected for the `activate` signals to be handled, the `GApplication` under test can be released too early, and the test will fail due to not seeing a high enough value of `n_activations`. Hopefully avoid that by moving the release to a low priority idle callback. This fix is only hopeful because I’ve only been able to reproduce the failure on FreeBSD CI and not locally. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: #2835
This commit is contained in:
parent
a0dbaeed2f
commit
a2c8a8c630
@ -1207,6 +1207,7 @@ dbus_activate_cb (GApplication *app,
|
||||
static void dbus_startup_reply_cb (GObject *source_object,
|
||||
GAsyncResult *result,
|
||||
gpointer user_data);
|
||||
static gboolean dbus_startup_reply_idle_cb (gpointer user_data);
|
||||
|
||||
static void
|
||||
dbus_startup_cb (GApplication *app,
|
||||
@ -1241,8 +1242,19 @@ dbus_startup_reply_cb (GObject *source_object,
|
||||
/* Nothing to check on the reply for now. */
|
||||
g_clear_object (&reply);
|
||||
|
||||
/* Release the app in an idle callback, so there’s time to process other
|
||||
* pending sources first. */
|
||||
g_idle_add_full (G_PRIORITY_LOW, dbus_startup_reply_idle_cb, g_steal_pointer (&app), g_object_unref);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
dbus_startup_reply_idle_cb (gpointer user_data)
|
||||
{
|
||||
GApplication *app = G_APPLICATION (user_data);
|
||||
|
||||
g_application_release (app);
|
||||
g_clear_object (&app);
|
||||
|
||||
return G_SOURCE_REMOVE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user