mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 23:46: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,
|
static void dbus_startup_reply_cb (GObject *source_object,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
|
static gboolean dbus_startup_reply_idle_cb (gpointer user_data);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dbus_startup_cb (GApplication *app,
|
dbus_startup_cb (GApplication *app,
|
||||||
@ -1241,8 +1242,19 @@ dbus_startup_reply_cb (GObject *source_object,
|
|||||||
/* Nothing to check on the reply for now. */
|
/* Nothing to check on the reply for now. */
|
||||||
g_clear_object (&reply);
|
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_application_release (app);
|
||||||
g_clear_object (&app);
|
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user