diff --git a/src/libsysprof/sysprof-governor-source.c b/src/libsysprof/sysprof-governor-source.c index 5277e01d..a24aaa81 100644 --- a/src/libsysprof/sysprof-governor-source.c +++ b/src/libsysprof/sysprof-governor-source.c @@ -285,19 +285,12 @@ enable_paranoid_cb (GObject *object, if (!self->disable_governor) sysprof_source_emit_finished (SYSPROF_SOURCE (self)); - else - { - sysprof_helpers_set_governor_async (helpers, - self->old_governor, - NULL, - enable_governor_cb, - self); - - /* Can't use g_steal_pointer above, as that might set self = NULL before - * self->old_governor is evaluated → crash - */ - self = NULL; - } + else if (self->old_governor != NULL) + sysprof_helpers_set_governor_async (helpers, + self->old_governor, + NULL, + enable_governor_cb, + g_object_ref (self)); } static void