From d89c4ecd942bdd7edb3a7014a7c62f6ed3ec2eb6 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Wed, 13 May 2020 19:52:25 +0300 Subject: [PATCH] object-manager: don't try to install if there is no core This happens when the daemon fails to connect and the not installed object managers try to get installed, but the weak ref to the core is already gone --- lib/wp/object-manager.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/wp/object-manager.c b/lib/wp/object-manager.c index cd6de1b7..539d2cba 100644 --- a/lib/wp/object-manager.c +++ b/lib/wp/object-manager.c @@ -775,11 +775,13 @@ wp_object_manager_maybe_objects_changed (WpObjectManager * self) */ else if (!self->installed) { g_autoptr (WpCore) core = g_weak_ref_get (&self->core); - WpRegistry *reg = wp_core_get_registry (core); - if (reg->tmp_globals->len == 0 && reg->globals->len != 0) { - wp_trace_object (self, "installed"); - g_signal_emit (self, signals[SIGNAL_INSTALLED], 0); - self->installed = TRUE; + if (core) { + WpRegistry *reg = wp_core_get_registry (core); + if (reg->tmp_globals->len == 0 && reg->globals->len != 0) { + wp_trace_object (self, "installed"); + g_signal_emit (self, signals[SIGNAL_INSTALLED], 0); + self->installed = TRUE; + } } } }